Rest где используется? Зачем?
Rest где используется? Зачем?
Rest где используется? Зачем?
По идее это запрос к Базе данных. Но зачем изобретать велосипед?
А может это попытка унифицировать API ?
Спасибо.
По идее это запрос к Базе данных. Но зачем изобретать велосипед?
А может это попытка унифицировать API ?
Спасибо.
Re: Rest где используется? Зачем?
Принципы REST достаточно общие для клиент-серверного взаимодействия вроде HTTP.
А так да, частично их упоминают при организации API.
А так да, частично их упоминают при организации API.
Re: Rest где используется? Зачем?
А сейчас такая тенденция, куда не глянь, приложения пишутся с использованием "реактивного" JavaScript.
Например посмотрите чуток примеры с Vue, они там на js делают то что обычно делалось на сервере, на php.
Потому что модель у них там в ихней разновидности MVC - это js модель.
Но данные надо все равно откуда то получать/складывать и организуют общение с сервером посредством например rest.
Re: Rest где используется? Зачем?
А дайте пожалуйста ссылки чтоб не перелопачивать тонны мусора.maleks писал(а): ↑2020.03.03, 11:10
А сейчас такая тенденция, куда не глянь, приложения пишутся с использованием "реактивного" JavaScript.
Например посмотрите чуток примеры с Vue, они там на js делают то что обычно делалось на сервере, на php.
Потому что модель у них там в ихней разновидности MVC - это js модель.
Но данные надо все равно откуда то получать/складывать и организуют общение с сервером посредством например rest.
С этим Rest - пишут тонны хрени на один простейший запрос.
Re: Rest где используется? Зачем?
У меня в голове не укладывалось, что это всё для того, чтоб получить 1 строку с базы.
Посмотрел код rest-Сервера - Да! Для получения 1 строки с базы.
Посмотрел код rest-Сервера - Да! Для получения 1 строки с базы.
Re: Rest где используется? Зачем?
Ну вот например тут , начиная с "Таким образом, каждому элементу массива будет соответствовать свой элемент li" , показывают как js массив связан с представлением на странице(в html).miltorg писал(а): ↑2020.03.03, 22:04А дайте пожалуйста ссылки чтоб не перелопачивать тонны мусора.maleks писал(а): ↑2020.03.03, 11:10
А сейчас такая тенденция, куда не глянь, приложения пишутся с использованием "реактивного" JavaScript.
Например посмотрите чуток примеры с Vue, они там на js делают то что обычно делалось на сервере, на php.
Потому что модель у них там в ихней разновидности MVC - это js модель.
Но данные надо все равно откуда то получать/складывать и организуют общение с сервером посредством например rest.
JS программисту достаточно сменить значения этого массива, внешний вид изменится, а данные если ему нужны для этого из базы, он аяксом запросит их из апи
Re: Rest где используется? Зачем?
Обычный классический сайт просто возвращает готовую HTML-страницу:
Код: Выделить всё
GET /blog/26
<html>
<head>...</head>
<body>
<article>
<h1>Post 1</h1>
<aside>
<span>Дата: 25 ноября 2019</span>
<span>Автор: <a href="/users/vasya">Вася</a></span>
</aside>
<p>Content</p>
</article>
</body>
</html>
Вместо этого для них можно сделать отдельные API-адреса для получения того же самого, но в формате JSON:
Код: Выделить всё
GET /api/blog/posts/26
{
"id": 26,
"title": "Post 1",
"date": "2019.11.25",
"author": {
"username": "vasya",
"name": "Вася",
},
"content": "Content"
}
То еcть по сути да, API (Application Programming Interface) делают для запросов той же информации из БД, но для возврата её в более удобном JSON или XML формате для приложений вместо возврата в HTML-виде для браузера.
А если всю вёрстку вынести в отдельный JS-фронтенд на React/Vue/Angular, то на сервере можно оставить только API.
Re: Rest где используется? Зачем?
Но не путайте аббревиатуры API и REST.
API можно сделать какое угодно и в любом формате.
А REST - это всего лишь список рекомендаций, по которым можно строить любое клиент-серверное взаимодействие, чтобы его можно было кешировать, проксировать, балансировать на несколько серверов и т.п.
API можно сделать какое угодно и в любом формате.
А REST - это всего лишь список рекомендаций, по которым можно строить любое клиент-серверное взаимодействие, чтобы его можно было кешировать, проксировать, балансировать на несколько серверов и т.п.
Re: Rest где используется? Зачем?
Что я и писал в первом сообщении - Попытка унификации API
Re: Rest где используется? Зачем?
Кстати. rest-Сервер на Друпале - из коробки.
Re: Rest где используется? Зачем?
Спасибо! Это как раз то что нужно. Спасибо.maleks писал(а): ↑2020.03.04, 08:02Ну вот например тут , начиная с "Таким образом, каждому элементу массива будет соответствовать свой элемент li" , показывают как js массив связан с представлением на странице(в html).miltorg писал(а): ↑2020.03.03, 22:04А дайте пожалуйста ссылки чтоб не перелопачивать тонны мусора.maleks писал(а): ↑2020.03.03, 11:10
А сейчас такая тенденция, куда не глянь, приложения пишутся с использованием "реактивного" JavaScript.
Например посмотрите чуток примеры с Vue, они там на js делают то что обычно делалось на сервере, на php.
Потому что модель у них там в ихней разновидности MVC - это js модель.
Но данные надо все равно откуда то получать/складывать и организуют общение с сервером посредством например rest.
JS программисту достаточно сменить значения этого массива, внешний вид изменится, а данные если ему нужны для этого из базы, он аяксом запросит их из апи
Re: Rest где используется? Зачем?
Посмотрел.maleks писал(а): ↑2020.03.04, 08:02 Ну вот например тут , начиная с "Таким образом, каждому элементу массива будет соответствовать свой элемент li" , показывают как js массив связан с представлением на странице(в html).
JS программисту достаточно сменить значения этого массива, внешний вид изменится, а данные если ему нужны для этого из базы, он аяксом запросит их из апи
???? Это что? Жалкая попытка сделать php на клиенте?
Re: Rest где используется? Зачем?
Вы не могли бы привести примеры этих приложений?
Возможно что в этом - весь Сыр-бор.
Возможно что я, со своим Дисктопом, и не ведаю о каком то массовом явлении на мобильниках
Спасибо.
Re: Rest где используется? Зачем?
А в yii2 тоже ж то что вокруг AR моделей все из коробки.
Я б не относился к этому несерьезно.
Уже постоянно встречается в требованиях и много где даже в yii, начинает использоваться.
По сути хотят чтобы функционал без перезагрузки страницы работал.
Для этого конечно и раньше были "pjax" или на jquery сам аякс пишешь, но фронтендерам видимо такое не нравилось.
Re: Rest где используется? Зачем?
Странно. Я думал что тенденция как раз в другую сторону - всё делаем в облаке.
Странно.
И спасибо вам. - Чувствуется что вы владеете темой
Re: Rest где используется? Зачем?
Может вернуть что угодно, но браузер отрендерит только HTML-страницу. А сервер может быть на PHP/Ruby/Python/Java/C#/etc.
Если сайт не интерактивный, а просто HTML-страница с текстом, то хватит одного PHP.
Если надо добавить что-то интерактивное вроде кнопки лайка, всплывания формы и отправки комментария без перезагрузки, то можно дописать показ формы и отправку Ajax-запросов маленьким кодом на jQuery или на голом JavaScript.
Если нужно всё целиком сделать интерактивным, то так получатся тонны jQuery-кода в перемешку с HTML, в которых программист в итоге заблудится. Чтобы такого не было для рендеринга и анимирования фронтенда интерактивных проектов используют отдельные полноценные JavaScript-фреймворки, а на сервере оставляют только API для ответов на их Ajax-запросы. Это сразу даёт бонус в том, что это же самое API теперь может использовать и своё мобильное приложение.
Тенденция в том, что сайты из простых статических страниц для чтения превращаются в интерактивные вещи, по сложности напоминающие десктопные приложения. Как Google Docs - это не просто страница на PHP, а полноценный браузерный MS Office на JavaScript с хранением документов на сервере. На одном PHP такое не сделаешь. Все админки, кабинеты хостингов, CRM и подобные проекты обрастают JavaScript-ом.
В итоге тенденция на разделение ответственностей. Хранение и вычисления данных делают любым языком на сервере в облаке, а интерактивный интерфейс ко всему этому строят на JavaScript в браузере. И передачу данных между ними делают в виде API.
Практически все мобильные приложения имеют регистрацию/вход и хранят данные на своём сервере, с которым общаются по сети. Те же приложения Facebook и Twitter дёргают API Graph и Twitter API. Почтовики, мобильные банки, мессенжеры и т.п. - все ходят в свои API.
Re: Rest где используется? Зачем?
А что насчет архитектурных моментов?
Вот это js приложение, будет оно полноценным приложением? со всеми слоями - бизнес логика, модели, контроллеры, ui, а с API работать как с внешним миром.
Или это все js приложение можно рассматривать как UI слой одного общего приложения?
Всю эту сложность уровня десктопных приложений поддерживать кому то придется...ElisDN писал(а): ↑2020.03.05, 11:04 Тенденция в том, что сайты из простых статических страниц для чтения превращаются в интерактивные вещи, по сложности напоминающие десктопные приложения.
На одном PHP такое не сделаешь. Все админки, кабинеты хостингов, CRM и подобные проекты обрастают JavaScript-ом.
Уже сейчас заметно, часть специфичной работы на бэкенде, куча работы на фронте, все каждое на своем фреймворке.
Уже так чтобы один человечек, на экспертном уровне поддерживал такой проект, совсем не факт.
Re: Rest где используется? Зачем?
Обычно это просто UI с маршрутизацией и виджетами.
Да, фронт стал сложным как бэк. Со своими технологиями и фреймворками. Простой программист-верстальщик уже всё экспертно не осилит. Теперь есть отдельные вакансии бэкендеров и фронтендеров.maleks писал(а): ↑2020.03.05, 14:10 Всю эту сложность уровня десктопных приложений поддерживать кому то придется...
Уже сейчас заметно, часть специфичной работы на бэкенде, куча работы на фронте, все каждое на своем фреймворке.
Уже так чтобы один человечек, на экспертном уровне поддерживал такой проект, совсем не факт.
Последний раз редактировалось ElisDN 2020.03.05, 15:19, всего редактировалось 5 раз.
Re: Rest где используется? Зачем?
В простых случаях. Бложик, "Новости нашего квартала"
В средней сложности системах схема хранения данных и модели на фронтенде быстро начинают отличаться. Бизнес суть та же, а вот наборы полей - побольше, или обрабатываются дополнительно при их выдаче.
В сложных проектах база данных может быть не одна, и не одного типа, и т.п. так что уже и REST надо расширять, или переходить на JSON-RPC, или посматривать в сторону GraphQL, подписки на CQRS каналы, и т.д.
А в простых да, шлем "упрощенные SQL запросы" с фронтенда, добавляем безопасности, да и все.
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Тем более что окажется что оно вам и не нужно было, странное это.