Как мы избавились от JavaScript-библиотек социальных сетей, ускорили скорость загрузки страниц и использовали RESTful API для “шаринга” и “лайков”.
Рубрика «RESTful» - 4
Избавляемся от JavaScript в социальных кнопках (Facebook, VK, Twitter и др.)
2015-02-08 в 0:38, admin, рубрики: bootstrap 3, css, Facebook, Facebook API, Font Awesome, fontawesome, google plus, Google Plus Api, html, javascript, linkedin, linkedin api, no-javascript, pinterest, pinterest api, rest, RESTful, restful api, surfingbird, surfingbird api, twitter, twitter api, twitter bootstrap 3, vkonakte, веб-дизайн, Веб-разработка, социальные сетиImpress Application Server простыми словами
2015-01-11 в 19:04, admin, рубрики: api, application server, cluster, framework, Impress, javascript, node.js, RESTful, RPC, statefull, архитектура, Веб-разработка, сервер приложений Это не первая вводная статья про Impress на Хабре, но за последний год я получил много вопросов и приобрел некоторый опыт в объяснении архитектуры и философии этого сервера приложений и, надеюсь, стал лучше понимать проблемы и задачи разработчиков, начинающих его освоение. Да и в самом сервере произошло достаточно изменений, чтобы назрела актуальность совершенно новой вводной статьи.
Impress Application Server (IAS) — это сервер приложений для Node.js с альтернативной архитектурой и философией, не похожий на мэйнстрим разработки под нодой и призванный упростить и автоматизировать широкий круг повторяемых типовых задач, поднять уровень абстракции прикладного кода, задать рамки и структуру приложений, оптимизировать как производительность кода, так и производительность разработчиков. IAS покрывает сейчас только серверные задачи, но делает это комплексно, например, можно объединить на одном порту API, веб-сокеты, стриминг, статику, Server-Sent Events, проксирование и URL-реврайтинг, обслуживать несколько доменов и несколько приложений, как на одном сервере, так и на группе серверов, работающих в связке, как одно целое, как один сервер приложений.
Читать полностью »
Краткий обзор новых возможностей JPA-RS в EclipseLink
2014-10-17 в 16:13, admin, рубрики: eclipse, java, jpa, JPARS, oracle, rest, RESTful EclipseLink — это ORM фрэймворк с открытым исходным кодом, разрабатываемый Eclipse Foundation. В конце года запланирован выход версии 2.6.0. проекта. В преддверии этого, я хочу ознакомить вас с некоторыми новыми возможностями службы JPA-RS, которая является частью EclipseLink.
JPA-RS позволяет автоматически генерировать RESTful сервисы на базе предоставленной пользователем JPA модели. При этом практически никакой дополнительной работы от пользователя не требуется.
Читать полностью »
Универсальный web-GUI для произвольных RESTful сервисов
2014-07-02 в 15:01, admin, рубрики: ajax, javascript, json, rest, RESTful, Веб-разработкаВо многих компаниях, как и моей, есть много проектов и продуктов. И у продуктов бывают веб-интерфейсы, чтобы этими продуктами как-то манипулировать. В нашем случае это простенькие RESTful веб-сервисы, а поверх них ещё более простенькие веб-странички с формочками и кнопочками. Все эти веб-странички до того похожи друг на друга, что возникла мысль написать унифицированный продукт, который бы спрашивал сервер о поддерживаемых сервисах, и получал бы полное описание параметров к этим сервисам, так чтобы можно было нарисовать те самые простенькие формочки. То есть, веб-сервисы должны описывать себя, достаточно исчерпывающе, чтобы наш клиент мог построить GUI для них, и ничего не надо было бы делать руками. Как раз такая картинка гуглится по запросу «REST»:
Начинаем делать RESTful web-сервисы на WCF и Nelibur
2014-06-04 в 11:43, admin, рубрики: .net, nelibur, RESTful, wcf WCF — реально мощная штука, но раз за разом для новых проектов мы вынуждены создавать новые, похожие друг на друга веб-сервисы. В этой статье (переводе) мы увидем, как создать повторно используемый веб-сервис с помощью Nelibur. Nelibur — это Message based web service framework на чистом WCF. Давайте посмотрим, как начать создание web-сервисов на WCF с использованием Nelibur.
Читать полностью »
Я искал повода испробовать фреймворк Martini с момента его анонса в почтовой рассылке golang-nuts. Martini — это пакет (package) для языка программирования Go, предназначенный для веб-разработки. Он стремительно стартовал, заработав 2000 «звездочек» за несколько недель на GitHub (а впервые Martini был там опубликован около месяца назад) (прим. пер. статья-оригинал была опубликована 27 ноября 2013 года).
Поэтому я решил сделать пример приложения, который бы реализовывал некий (практичный) RESTful API, основанный на лучших практиках. Код, иллюстрирующий эту статью, можно посмотреть на GitHub.
Почему Martini?
В Martini есть много вещей для того, чтобы реализовать мою задумку.
Прежде всего, это очень элегантный API, использующий только тонкий слой абстракции поверх превосходного пакета net/http
из стандартной библиотеки, и факт понимания всесущего интерфейса http.Handler
(прим. пер.: видимо, автор имеет ввиду, что в стандартной библиотеке вовсю используется именно http.Handler
, а Martini ловко маскируется под него).
Другой ключевой особенностью является то, что как только Martini покажется для вас «магическим» (мне не нравится магия), вам абсолютно необходимо будет взглянуть на его исходные тексты. Это ~400 строчек исходных текстов, небольшие числом и хорошо контролируемые (так это было сегодня утром), с одной внешней зависимостью, пакетом inject
, таким же «худым», состоящим всего из ~100 строчек исходных текстов.
Читать полностью »
Назад, к технологиям верхнего палеолита, от любимых всеми REST, STATEless, CRUD, CGI, FastСGI и MVC
2014-01-20 в 7:58, admin, рубрики: api, cgi, crud, event loop, fastcgi, mvc, mvp, node.js, rest, RESTful, statefull, Анализ и проектирование систем, архитектура, Веб-разработка, метки: cgi, crud, event loop, fastcgi, model, mvc, mvp, node.js, rest, RESTful, statefull, архитектура «Только со смертью догмы начинается наука.»
// Галилео Галилей
«Я начал завидовать рабам. Они всё знают заранее. У них твёрдые убеждения.»
// х/ф Марка Захарова «Убить дракона» по мотивам пьесы Евгения Шварца
Уже пару лет и дня не проходит, чтобы я не услышал (или не прочитал) от людей, начинающих новые проекты, фразу типа «Возьмем серверный движок для REST API и MVC, и погнали». Сначала я думал, что у этих слов есть один источник, может книжку какую завезли во все магазины или где-то в топе поисковиков лежит статья, зомбирующая разработчиков. Если же выяснять у них, что они понимают под REST и MVC, то можно повредиться умом. Ну с MVC уже все ясно, об этом я уже давно писал, ничего не изменилось, только усугубилось, стоит набрать в Google Images «mvc» и мы увидим страшное, стрелочки в любые стороны. Ну а про REST отвечают следующее: ну как же, нам нужно из браузерного GUI и мобильного приложения вызывать серверные методы, например: setUserCity(userId, cityId) или calculateMatrix(data) или startVideoConverter(options, source, destination) а потом мы столкнемся с большой нагрузкой и архитектура REST все решит. Дальше я задаю вопросы, от которых глаза округляются уже у тех, кто недавно еще горел праведной верой, рвался в бой и точно знал, что к чему в этом мире. Теперь можно перейти к рассмотрению терминологической катастрофы, в эпицентре которой мы с вами пребываем.
Читать полностью »
Обработка ошибок в RESTful приложениях
2014-01-07 в 20:59, admin, рубрики: json, rest, RESTful, ruby on rails, Веб-разработка, Проектирование и рефакторинг, метки: json, rest, RESTful, ruby on rails
За последнее время очень многие веб-фреймворки обзавелись RESTful роутингом. Более того, REST стал де-факто стандартом проектирования архитектуры веб-приложений. Практически все более-менее значимые сервисы обзавелись RESTful API с представлением данных через xml и json форматы. Такой популярности REST помогло как появление большого количества руководств, так и горячие обсуждения REST среди специалистов.
Вместе с тем, REST до сих пор воспринимается скорее как некоторый набор правил роутинга, а всё что не связано в прямую с роутингом решается произвольным путём, в частности это касается обработки ошибок в RESTful-приложениях.
Построение RESTful web API в Caché
2013-12-04 в 4:41, admin, рубрики: AngularJS, cache, intersystems, intersystems cache, rest, RESTful, Блог компании InterSystems, Веб-разработка, разработка, метки: AngularJS, cache, InterSystems, InterSystems cache, rest, RESTfulВ InterSystems Caché появилась поддержка REST. О том, что такое REST на Хабре уже писали и не раз. Если кратко — это паттерн построения RESTful web API, и ему присущи следующие свойства:
- разделение клиента и сервера,
- независимость от состояния (stateless),
- кэшируемая и многоуровневая архитектура,
- единый интерфейс,
- все запросы к RESTful web API состоят из корневого URL приложения плюс частные подзапросы,
- CRUD через HTTP — HTTP методы GET, PUT, POST, DELETE (RESTful web API).
Социальная сеть без сервера. История разработки iOS-клиента и backend
2013-11-26 в 16:43, admin, рубрики: backbone.js, client-server, integration testing, ios development, kinvey, mobile development, parse.com, RESTful, testing, tips and tricks, Проектирование и рефакторинг, разработка под iOS, тестирование, метки: backbone.js, client-server, integration testing, ios development, kinvey, mobile development, parse.com, RESTful, testing, tips and tricksИнтро
Я хочу рассказать об опыте разработки iOS-клиента для социальной сети и бэкенда реализованного с помощью BaaS Parse.com Нижe приведена архитектура, которая у нас получилась, некоторые tips&tricks и размышления по поводу работы с parse.com.
Изначально клиент думал о сервере на RoR, но, видимо, они не рискнули вкладывать сразу много денег. Мы подписали строгое NDA, поэтому ссылку на Appstore я дать не могу.
Читать полностью »