🗊Презентация CodeEvening - CPMD. Rest Api

Нажмите для полного просмотра!
CodeEvening - CPMD. Rest Api, слайд №1CodeEvening - CPMD. Rest Api, слайд №2CodeEvening - CPMD. Rest Api, слайд №3CodeEvening - CPMD. Rest Api, слайд №4CodeEvening - CPMD. Rest Api, слайд №5CodeEvening - CPMD. Rest Api, слайд №6CodeEvening - CPMD. Rest Api, слайд №7CodeEvening - CPMD. Rest Api, слайд №8CodeEvening - CPMD. Rest Api, слайд №9CodeEvening - CPMD. Rest Api, слайд №10CodeEvening - CPMD. Rest Api, слайд №11CodeEvening - CPMD. Rest Api, слайд №12CodeEvening - CPMD. Rest Api, слайд №13CodeEvening - CPMD. Rest Api, слайд №14CodeEvening - CPMD. Rest Api, слайд №15CodeEvening - CPMD. Rest Api, слайд №16CodeEvening - CPMD. Rest Api, слайд №17CodeEvening - CPMD. Rest Api, слайд №18CodeEvening - CPMD. Rest Api, слайд №19CodeEvening - CPMD. Rest Api, слайд №20CodeEvening - CPMD. Rest Api, слайд №21CodeEvening - CPMD. Rest Api, слайд №22CodeEvening - CPMD. Rest Api, слайд №23CodeEvening - CPMD. Rest Api, слайд №24CodeEvening - CPMD. Rest Api, слайд №25CodeEvening - CPMD. Rest Api, слайд №26CodeEvening - CPMD. Rest Api, слайд №27CodeEvening - CPMD. Rest Api, слайд №28CodeEvening - CPMD. Rest Api, слайд №29CodeEvening - CPMD. Rest Api, слайд №30CodeEvening - CPMD. Rest Api, слайд №31CodeEvening - CPMD. Rest Api, слайд №32CodeEvening - CPMD. Rest Api, слайд №33CodeEvening - CPMD. Rest Api, слайд №34

Содержание

Вы можете ознакомиться и скачать презентацию на тему CodeEvening - CPMD. Rest Api. Доклад-сообщение содержит 34 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





CROSS PLATFORM MOBILE DEVELOPMENT
Описание слайда:
CROSS PLATFORM MOBILE DEVELOPMENT

Слайд 2





REST API
Описание слайда:
REST API

Слайд 3





REST - что это?
Representational State Transfer — «передача репрезентативного состояния». Метод взаимодействия компонентов распределённого приложения в сети Интернет, при котором вызов удаленной процедуры представляет собой обычный HTTP-запрос (обычно GET или POST; такой запрос называют REST-запрос), а необходимые данные передаются в качестве параметров запроса. 
Этот способ является альтернативой более сложным методам, таким как SOAP, CORBA и RPC. В широком смысле REST означает концепцию построения распределённого приложения, при которой компоненты взаимодействуют наподобие взаимодействия клиентов и серверов во Всемирной паутине.
Описание слайда:
REST - что это? Representational State Transfer — «передача репрезентативного состояния». Метод взаимодействия компонентов распределённого приложения в сети Интернет, при котором вызов удаленной процедуры представляет собой обычный HTTP-запрос (обычно GET или POST; такой запрос называют REST-запрос), а необходимые данные передаются в качестве параметров запроса. Этот способ является альтернативой более сложным методам, таким как SOAP, CORBA и RPC. В широком смысле REST означает концепцию построения распределённого приложения, при которой компоненты взаимодействуют наподобие взаимодействия клиентов и серверов во Всемирной паутине.

Слайд 4





Всем нужен сервер
Описание слайда:
Всем нужен сервер

Слайд 5





REpresentational State Transfer === CRUD
Описание слайда:
REpresentational State Transfer === CRUD

Слайд 6





Что внутри в двух словах
http://api/
{название ресурса}/{уникальный идентификатор}
?параметр=значение
Описание слайда:
Что внутри в двух словах http://api/ {название ресурса}/{уникальный идентификатор} ?параметр=значение

Слайд 7





Что внутри в двух словах
GET
Отдай ресурс
Отдай событие
POST / PUT
Создай ресурс
Создай событие
Описание слайда:
Что внутри в двух словах GET Отдай ресурс Отдай событие POST / PUT Создай ресурс Создай событие

Слайд 8





Что внутри в двух словах
PATCH / PUT
Обнови ресурс
Создай если её нет
DELETE
Удали ресурс
Описание слайда:
Что внутри в двух словах PATCH / PUT Обнови ресурс Создай если её нет DELETE Удали ресурс

Слайд 9





Что внутри в двух словах
HEAD
Отдай ресурс
Отдай событие
Но всё это без содержимого, только заголовки
CONNECT
Создай подключение TCP/IP tunnel или HTTPS
OPTIONS
Покажи доступные мне методы
TRACE
Верни мне что я тебе прислал
Описание слайда:
Что внутри в двух словах HEAD Отдай ресурс Отдай событие Но всё это без содержимого, только заголовки CONNECT Создай подключение TCP/IP tunnel или HTTPS OPTIONS Покажи доступные мне методы TRACE Верни мне что я тебе прислал

Слайд 10





REST - не стандарт
Описание слайда:
REST - не стандарт

Слайд 11





REST - не стандарт
Все является ресурсами с уникальным идентификатором (URL)
Все операции - это ресуры или сущности
Любой запрос это CRUD
Описание слайда:
REST - не стандарт Все является ресурсами с уникальным идентификатором (URL) Все операции - это ресуры или сущности Любой запрос это CRUD

Слайд 12





GET
GET /resource
Отдать данные так как задумано сервером
GET /resource/{id}
Уникальный идентификатор это ID, hash, slug, username - что-то уникальное что является идентификатором
GET /resource/{id_1},{id_2},{id_3}
Клиент хочет несколько ресурсов, отдай их массивом
Описание слайда:
GET GET /resource Отдать данные так как задумано сервером GET /resource/{id} Уникальный идентификатор это ID, hash, slug, username - что-то уникальное что является идентификатором GET /resource/{id_1},{id_2},{id_3} Клиент хочет несколько ресурсов, отдай их массивом

Слайд 13





GET
GET /tavern/Admiral_Benbow/checkin
Посмотреть все чекины данном месте
GET /pirate/Billy_Bones/checkin
Посмотреть все чекины пользователя
GET /pirate/Billy_Bones/checkin/Admiral_Benbow
Посмотреть есть ли чекин пользователя в данной местности вернув запись
Описание слайда:
GET GET /tavern/Admiral_Benbow/checkin Посмотреть все чекины данном месте GET /pirate/Billy_Bones/checkin Посмотреть все чекины пользователя GET /pirate/Billy_Bones/checkin/Admiral_Benbow Посмотреть есть ли чекин пользователя в данной местности вернув запись

Слайд 14





GET
http://api/user/12345 
я знаю сколько у тебя пользователей 
http://api/user/@HanSolo 
я знаю имя пользователя или логин или email
Описание слайда:
GET http://api/user/12345 я знаю сколько у тебя пользователей http://api/user/@HanSolo я знаю имя пользователя или логин или email

Слайд 15





GET
http://api/tavern/4
{
  "status": "ok",
  "data": [
    {
      "id": "abcd-efgh",
      "name": "Tavern 'Dancing fairy'"
    }
  ],
  "next": "http://api/tavern/?offset=5",
  "prev": "http://api/tavern/?offset=3",
}
Описание слайда:
GET http://api/tavern/4 { "status": "ok", "data": [ { "id": "abcd-efgh", "name": "Tavern 'Dancing fairy'" } ], "next": "http://api/tavern/?offset=5", "prev": "http://api/tavern/?offset=3", }

Слайд 16





GET
DELETE /account/{id} 
удаляем пользователя
DELETE /account/{id_1},{id_2},{id_3} 
удаляем много пользователей
DELETE /account 
удалить все записи ресурса (!!!)
DELETE /account/{id}/avatar 
удаляем аватарку
DELETE /account/{id}/avatar/* 
удалить все аватарки
Описание слайда:
GET DELETE /account/{id} удаляем пользователя DELETE /account/{id_1},{id_2},{id_3} удаляем много пользователей DELETE /account удалить все записи ресурса (!!!) DELETE /account/{id}/avatar удаляем аватарку DELETE /account/{id}/avatar/* удалить все аватарки

Слайд 17





Вложенные данные
[
 {"name": "Jay", "phrase": [1, 2]},
 {"name": "Silent Bob", "phrase": ["..."]},
 {"name": "Metatron", "phrase":
  {"5": "Behold, the Metatron!",
   "6": "Metatron acts as the voice of God."}},
 {"name": "Azrael",
  "phrase": ["http://api/phrase/7",
  "http://api/phrase/8"]}
]
Описание слайда:
Вложенные данные [ {"name": "Jay", "phrase": [1, 2]}, {"name": "Silent Bob", "phrase": ["..."]}, {"name": "Metatron", "phrase": {"5": "Behold, the Metatron!", "6": "Metatron acts as the voice of God."}}, {"name": "Azrael", "phrase": ["http://api/phrase/7", "http://api/phrase/8"]} ]

Слайд 18





Разбиение на страницы
{
  "pagination": {
    "total": 1003,
    "per_page": 10,
    "total_pages": 100,
    "current_page": 3,
    "next_page": 4,
    "prev_page": 2,
    "next_url": "http://api/resource/:page/4",
    "prev_url": "http://api/resource/:page/2"
  }
}
Описание слайда:
Разбиение на страницы { "pagination": { "total": 1003, "per_page": 10, "total_pages": 100, "current_page": 3, "next_page": 4, "prev_page": 2, "next_url": "http://api/resource/:page/4", "prev_url": "http://api/resource/:page/2" } }

Слайд 19





За пределами CRUD
Описание слайда:
За пределами CRUD

Слайд 20





Версионирование API
URL
https://api/v1.0.5/resource 
https://api/v2.1.9/resource/123456 
Параметр
https://api/resource?v=3.2.6 
Заголовки
Accept: application/json;version=v1.2.4
Accept: application/json;api=NameOfMyApi;version=v1.4.6
Описание слайда:
Версионирование API URL https://api/v1.0.5/resource https://api/v2.1.9/resource/123456 Параметр https://api/resource?v=3.2.6 Заголовки Accept: application/json;version=v1.2.4 Accept: application/json;api=NameOfMyApi;version=v1.4.6

Слайд 21





Поиск
http://api.domain.my/:search/?what=articles&text=Tolkien*&request_id=123456

202 Accepted
{
  "incremental_call": 60000,
  "left": 53,
  "per_day": 200
}
Описание слайда:
Поиск http://api.domain.my/:search/?what=articles&text=Tolkien*&request_id=123456 202 Accepted { "incremental_call": 60000, "left": 53, "per_day": 200 }

Слайд 22





Ошибки
{
  "status": "Forbidden",
  "http_code": 403,
  "code": "SESSION_EXPIRED",
  "type": "OAuthException",
  "message": "Session has expired"
}
{
  "status": "OK",
  "http_code": 404,
  "code": «DEPRECATED_API_VERSION",
  "type": "APIException",
  "message": "This API version is no longer supported"
}
Описание слайда:
Ошибки { "status": "Forbidden", "http_code": 403, "code": "SESSION_EXPIRED", "type": "OAuthException", "message": "Session has expired" } { "status": "OK", "http_code": 404, "code": «DEPRECATED_API_VERSION", "type": "APIException", "message": "This API version is no longer supported" }

Слайд 23





Документирование REST API
Описание слайда:
Документирование REST API

Слайд 24





Документирование REST API
Код постоянно меняется
Время на документацию не выделяют
Документация не успевает за изменениями
Никто не умеет писать документацию
Когда начинать вести документацию?
Не хочу писать документацию
Описание слайда:
Документирование REST API Код постоянно меняется Время на документацию не выделяют Документация не успевает за изменениями Никто не умеет писать документацию Когда начинать вести документацию? Не хочу писать документацию

Слайд 25





Service-Oriented Architecture
HATEOAS
“Hypermedia as the Engine of Application State”
JSON Schema
JSON Hyper-Schema
Описание слайда:
Service-Oriented Architecture HATEOAS “Hypermedia as the Engine of Application State” JSON Schema JSON Hyper-Schema

Слайд 26





GET OPTIONS http://api/user
{
"title": "User",
"type": "object",
"description": "Service User",
"properties": {
    "firstName": {"type": "string"},
      "age": {
            "description": "Age in years",
            "type": "integer",
            "minimum": 0
        }
},
"required": ["firstName", "age"]
}
Описание слайда:
GET OPTIONS http://api/user { "title": "User", "type": "object", "description": "Service User", "properties": { "firstName": {"type": "string"}, "age": { "description": "Age in years", "type": "integer", "minimum": 0 } }, "required": ["firstName", "age"] }

Слайд 27





GET OPTIONS http://api/product
HTTP/1.1 200 OK
Host: api.example.com
Content-Type: application/json
Cache-Control: no-cache, private
X-Methods: GET,POST,PUT,PATCH,DELETE
Описание слайда:
GET OPTIONS http://api/product HTTP/1.1 200 OK Host: api.example.com Content-Type: application/json Cache-Control: no-cache, private X-Methods: GET,POST,PUT,PATCH,DELETE

Слайд 28





Apache Cordova
Описание слайда:
Apache Cordova

Слайд 29





Apache Cordova — это платформа разработки мобильных приложений с открытым исходным кодом. Она позволяет использовать стандартные веб-технологии для кросс платформенной разработки, избегая родного языка разработки для каждой из мобильных платформ. Приложения выполняются внутри обертки нацеленной на каждую платформу и полагаются на стандартные API для доступа к датчикам устройства, данным и состоянию сети.
Apache Cordova — это платформа разработки мобильных приложений с открытым исходным кодом. Она позволяет использовать стандартные веб-технологии для кросс платформенной разработки, избегая родного языка разработки для каждой из мобильных платформ. Приложения выполняются внутри обертки нацеленной на каждую платформу и полагаются на стандартные API для доступа к датчикам устройства, данным и состоянию сети.
Описание слайда:
Apache Cordova — это платформа разработки мобильных приложений с открытым исходным кодом. Она позволяет использовать стандартные веб-технологии для кросс платформенной разработки, избегая родного языка разработки для каждой из мобильных платформ. Приложения выполняются внутри обертки нацеленной на каждую платформу и полагаются на стандартные API для доступа к датчикам устройства, данным и состоянию сети. Apache Cordova — это платформа разработки мобильных приложений с открытым исходным кодом. Она позволяет использовать стандартные веб-технологии для кросс платформенной разработки, избегая родного языка разработки для каждой из мобильных платформ. Приложения выполняются внутри обертки нацеленной на каждую платформу и полагаются на стандартные API для доступа к датчикам устройства, данным и состоянию сети.

Слайд 30





Основные принципы
Разработка ведется с использованием стека технологий HTML, CSS, Javascript
Компиляция в нативное приложение возможно только при наличии необходимого SDK
Имеет большой набор плагинов для использования «системного javascript»
Описание слайда:
Основные принципы Разработка ведется с использованием стека технологий HTML, CSS, Javascript Компиляция в нативное приложение возможно только при наличии необходимого SDK Имеет большой набор плагинов для использования «системного javascript»

Слайд 31





Cordova: Плюсы
Удобная разработка:
Нет необходимости постоянно компилировать проект, разработка ведется прямо в браузере
Наиболее адекватный порог вхождения
Плагины
Отладка уже запущенного приложения прямо из браузера
Описание слайда:
Cordova: Плюсы Удобная разработка: Нет необходимости постоянно компилировать проект, разработка ведется прямо в браузере Наиболее адекватный порог вхождения Плагины Отладка уже запущенного приложения прямо из браузера

Слайд 32





Cordova: минусы
Нативное приложение представляет собой форму с «натянутым» Web-view, что означает всю работу внутри одного Activity
Чуть медленная производительность по сравнению с нативным приложением
Функциональность зависит от текущей ОС и функции браузера
Подписка на PUSH уведомления при выключенной программе (на стадии доработки)
Описание слайда:
Cordova: минусы Нативное приложение представляет собой форму с «натянутым» Web-view, что означает всю работу внутри одного Activity Чуть медленная производительность по сравнению с нативным приложением Функциональность зависит от текущей ОС и функции браузера Подписка на PUSH уведомления при выключенной программе (на стадии доработки)

Слайд 33





IONIC FRAMEWORK
Описание слайда:
IONIC FRAMEWORK

Слайд 34





Что такое IONIC FRAMEWORK
Набор дополнительных инструментов для Apache Cordova
Стилевая функциональность для удобной верстки приложения
Набор готовых модулей, альтернативных нативным (например, диалоги или InfinityScroll)
В основе лежит Angular JS
Описание слайда:
Что такое IONIC FRAMEWORK Набор дополнительных инструментов для Apache Cordova Стилевая функциональность для удобной верстки приложения Набор готовых модулей, альтернативных нативным (например, диалоги или InfinityScroll) В основе лежит Angular JS



Похожие презентации
Mypresentation.ru
Загрузить презентацию