Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
34 слайда
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
210.07 kB
Просмотров:
64
Скачиваний:
1
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![CROSS PLATFORM MOBILE](/documents_6/602066ba77c78353fd905e55a0097be9/img0.jpg)
Содержание слайда: CROSS PLATFORM MOBILE DEVELOPMENT
№2 слайд![REST API](/documents_6/602066ba77c78353fd905e55a0097be9/img1.jpg)
Содержание слайда: REST API
№3 слайд![REST - что это?](/documents_6/602066ba77c78353fd905e55a0097be9/img2.jpg)
Содержание слайда: REST - что это?
Representational State Transfer — «передача репрезентативного состояния». Метод взаимодействия компонентов распределённого приложения в сети Интернет, при котором вызов удаленной процедуры представляет собой обычный HTTP-запрос (обычно GET или POST; такой запрос называют REST-запрос), а необходимые данные передаются в качестве параметров запроса.
Этот способ является альтернативой более сложным методам, таким как SOAP, CORBA и RPC. В широком смысле REST означает концепцию построения распределённого приложения, при которой компоненты взаимодействуют наподобие взаимодействия клиентов и серверов во Всемирной паутине.
№4 слайд![Всем нужен сервер](/documents_6/602066ba77c78353fd905e55a0097be9/img3.jpg)
Содержание слайда: Всем нужен сервер
№5 слайд![REpresentational State](/documents_6/602066ba77c78353fd905e55a0097be9/img4.jpg)
Содержание слайда: REpresentational State Transfer === CRUD
№6 слайд![Что внутри в двух словах http](/documents_6/602066ba77c78353fd905e55a0097be9/img5.jpg)
Содержание слайда: Что внутри в двух словах
http://api/
{название ресурса}/{уникальный идентификатор}
?параметр=значение
№7 слайд![Что внутри в двух словах GET](/documents_6/602066ba77c78353fd905e55a0097be9/img6.jpg)
Содержание слайда: Что внутри в двух словах
GET
Отдай ресурс
Отдай событие
POST / PUT
Создай ресурс
Создай событие
№8 слайд![Что внутри в двух словах](/documents_6/602066ba77c78353fd905e55a0097be9/img7.jpg)
Содержание слайда: Что внутри в двух словах
PATCH / PUT
Обнови ресурс
Создай если её нет
DELETE
Удали ресурс
№9 слайд![Что внутри в двух словах HEAD](/documents_6/602066ba77c78353fd905e55a0097be9/img8.jpg)
Содержание слайда: Что внутри в двух словах
HEAD
Отдай ресурс
Отдай событие
Но всё это без содержимого, только заголовки
CONNECT
Создай подключение TCP/IP tunnel или HTTPS
OPTIONS
Покажи доступные мне методы
TRACE
Верни мне что я тебе прислал
№10 слайд![REST - не стандарт](/documents_6/602066ba77c78353fd905e55a0097be9/img9.jpg)
Содержание слайда: REST - не стандарт
№11 слайд![REST - не стандарт Все](/documents_6/602066ba77c78353fd905e55a0097be9/img10.jpg)
Содержание слайда: REST - не стандарт
Все является ресурсами с уникальным идентификатором (URL)
Все операции - это ресуры или сущности
Любой запрос это CRUD
№12 слайд![GET GET resource Отдать](/documents_6/602066ba77c78353fd905e55a0097be9/img11.jpg)
Содержание слайда: GET
GET /resource
Отдать данные так как задумано сервером
GET /resource/{id}
Уникальный идентификатор это ID, hash, slug, username - что-то уникальное что является идентификатором
GET /resource/{id_1},{id_2},{id_3}
Клиент хочет несколько ресурсов, отдай их массивом
№13 слайд![GET GET tavern Admiral Benbow](/documents_6/602066ba77c78353fd905e55a0097be9/img12.jpg)
Содержание слайда: GET
GET /tavern/Admiral_Benbow/checkin
Посмотреть все чекины данном месте
GET /pirate/Billy_Bones/checkin
Посмотреть все чекины пользователя
GET /pirate/Billy_Bones/checkin/Admiral_Benbow
Посмотреть есть ли чекин пользователя в данной местности вернув запись
№14 слайд![GET http api user я знаю](/documents_6/602066ba77c78353fd905e55a0097be9/img13.jpg)
Содержание слайда: GET
http://api/user/12345
я знаю сколько у тебя пользователей
http://api/user/@HanSolo
я знаю имя пользователя или логин или email
№15 слайд![GET http api tavern quot](/documents_6/602066ba77c78353fd905e55a0097be9/img14.jpg)
Содержание слайда: 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 удаляем](/documents_6/602066ba77c78353fd905e55a0097be9/img15.jpg)
Содержание слайда: GET
DELETE /account/{id}
удаляем пользователя
DELETE /account/{id_1},{id_2},{id_3}
удаляем много пользователей
DELETE /account
удалить все записи ресурса (!!!)
DELETE /account/{id}/avatar
удаляем аватарку
DELETE /account/{id}/avatar/*
удалить все аватарки
№17 слайд![Вложенные данные quot name](/documents_6/602066ba77c78353fd905e55a0097be9/img16.jpg)
Содержание слайда: Вложенные данные
[
{"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 слайд![Разбиение на страницы quot](/documents_6/602066ba77c78353fd905e55a0097be9/img17.jpg)
Содержание слайда: Разбиение на страницы
{
"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](/documents_6/602066ba77c78353fd905e55a0097be9/img18.jpg)
Содержание слайда: За пределами CRUD
№20 слайд![Версионирование API URL https](/documents_6/602066ba77c78353fd905e55a0097be9/img19.jpg)
Содержание слайда: Версионирование 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](/documents_6/602066ba77c78353fd905e55a0097be9/img20.jpg)
Содержание слайда: Поиск
http://api.domain.my/:search/?what=articles&text=Tolkien*&request_id=123456
202 Accepted
{
"incremental_call": 60000,
"left": 53,
"per_day": 200
}
№22 слайд![Ошибки quot status quot quot](/documents_6/602066ba77c78353fd905e55a0097be9/img21.jpg)
Содержание слайда: Ошибки
{
"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](/documents_6/602066ba77c78353fd905e55a0097be9/img22.jpg)
Содержание слайда: Документирование REST API
№24 слайд![Документирование REST API Код](/documents_6/602066ba77c78353fd905e55a0097be9/img23.jpg)
Содержание слайда: Документирование REST API
Код постоянно меняется
Время на документацию не выделяют
Документация не успевает за изменениями
Никто не умеет писать документацию
Когда начинать вести документацию?
Не хочу писать документацию
№25 слайд![Service-Oriented Architecture](/documents_6/602066ba77c78353fd905e55a0097be9/img24.jpg)
Содержание слайда: Service-Oriented Architecture
HATEOAS
“Hypermedia as the Engine of Application State”
JSON Schema
JSON Hyper-Schema
№26 слайд![GET OPTIONS http api user](/documents_6/602066ba77c78353fd905e55a0097be9/img25.jpg)
Содержание слайда: 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](/documents_6/602066ba77c78353fd905e55a0097be9/img26.jpg)
Содержание слайда: 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](/documents_6/602066ba77c78353fd905e55a0097be9/img27.jpg)
Содержание слайда: Apache Cordova
№29 слайд![Apache Cordova это платформа](/documents_6/602066ba77c78353fd905e55a0097be9/img28.jpg)
Содержание слайда: Apache Cordova — это платформа разработки мобильных приложений с открытым исходным кодом. Она позволяет использовать стандартные веб-технологии для кросс платформенной разработки, избегая родного языка разработки для каждой из мобильных платформ. Приложения выполняются внутри обертки нацеленной на каждую платформу и полагаются на стандартные API для доступа к датчикам устройства, данным и состоянию сети.
Apache Cordova — это платформа разработки мобильных приложений с открытым исходным кодом. Она позволяет использовать стандартные веб-технологии для кросс платформенной разработки, избегая родного языка разработки для каждой из мобильных платформ. Приложения выполняются внутри обертки нацеленной на каждую платформу и полагаются на стандартные API для доступа к датчикам устройства, данным и состоянию сети.
№30 слайд![Основные принципы Разработка](/documents_6/602066ba77c78353fd905e55a0097be9/img29.jpg)
Содержание слайда: Основные принципы
Разработка ведется с использованием стека технологий HTML, CSS, Javascript
Компиляция в нативное приложение возможно только при наличии необходимого SDK
Имеет большой набор плагинов для использования «системного javascript»
№31 слайд![Cordova Плюсы Удобная](/documents_6/602066ba77c78353fd905e55a0097be9/img30.jpg)
Содержание слайда: Cordova: Плюсы
Удобная разработка:
Нет необходимости постоянно компилировать проект, разработка ведется прямо в браузере
Наиболее адекватный порог вхождения
Плагины
Отладка уже запущенного приложения прямо из браузера
№32 слайд![Cordova минусы Нативное](/documents_6/602066ba77c78353fd905e55a0097be9/img31.jpg)
Содержание слайда: Cordova: минусы
Нативное приложение представляет собой форму с «натянутым» Web-view, что означает всю работу внутри одного Activity
Чуть медленная производительность по сравнению с нативным приложением
Функциональность зависит от текущей ОС и функции браузера
Подписка на PUSH уведомления при выключенной программе (на стадии доработки)
№33 слайд![IONIC FRAMEWORK](/documents_6/602066ba77c78353fd905e55a0097be9/img32.jpg)
Содержание слайда: IONIC FRAMEWORK
№34 слайд![Что такое IONIC FRAMEWORK](/documents_6/602066ba77c78353fd905e55a0097be9/img33.jpg)
Содержание слайда: Что такое IONIC FRAMEWORK
Набор дополнительных инструментов для Apache Cordova
Стилевая функциональность для удобной верстки приложения
Набор готовых модулей, альтернативных нативным (например, диалоги или InfinityScroll)
В основе лежит Angular JS