Country not specified
Unknown website Share

Apps4all

Страна: -
Город: -
Был онлайн: -
О себе:
 
08-07-2016, 11:49
Apps4all

Время платформ разработки

Джеймс Ю - сооснователь Parse, облачной платформы для мобильных разработчиков. Следи за ним в Твиттер или блоге.

На протяжении лет разработка ПО разрывалась между сервер-ориентированным и клиент-ориентированным подходом. Сегодня, с преобладанием мобильных платформ вроде iOS и Android, приложения вошли в стадию гибридной клиент-серверной архитектуры.

Для разработчиков это значит то, что теперь им приходиться обращаться с еще большим количеством технологий, чем когда либо. В итоге мы наблюдаем бум платформ, справляющихся с функциональностью, которая никогда ранее не предназначалась для аутсорсинга. Сюда относится все - от баз данных до отсылки e-mail сообщений и до обеспечения аутентификации пользователей. По мере того, как все большее количество ПО отправляется на облака, туда же отправляются и инструменты, использующиеся для создания конечного продукта.

От клиента через сервер к гибриду

В 90-ых главенствовало десктопное ПО. Поэтому большинство разработок было клиент-ориентированным. Кроме этого мир был менее связанным. Так что, даже если твое приложение могло подключаться к интернету, пользователи не ждали, что оно всегда будет онлайн. Разработчики могли покорно разрабатывать ПО и доставлять его к пользователю без всяких условий.

Но с началом нулевых сеть вдруг стала вездесущей. Все больше и больше ПО перекочевывало в браузеры, в связи с чем разработчикам приходилось тратить все больше времени на сервер-ориентированный кодинг. Запросы отправляются на сервер, сервер обрабатывает их, чтобы создать результат, и шлет его обратно в браузер. Возможно, была какая-то доля javascript с клиентской стороны, но большая часть тяжелой работы проделывалась на серверах. Наиболее важным в то время было знание серверного программирования.

В настоящее время картина усложнилась. Подключенные к сети мобильные приложения заняли важнейшее место. Вероятно, в скором времени конечными точками в сети будут не компьютеры, а мобильные устройства. Количество смартфонов и планшетов начнет подавлять ПК. Уже сейчас сервисы вроде Facebook наблюдают в два раза большую активность с мобильных устройств, нежели с традиционных компьютеров.

Гибридная архитектура – это сложно

Сегодня разработчикам приходится создавать клиентский и серверный коды, которые глубоко взаимодействуют друг с другом. В результате появляется необходимость знания двух стилей разработки, и, скорее всего, двух языков и сред программирования. Клиентский код должен работать с устройствами, имеющими ограниченные ресурсы и медленное, ненадежное подключение к сети. И поскольку часто приходится иметь дело с устаревшими клиентами, серверу нужно уметь справляться с многочисленными версиями клиентов, делающих запросы. Добавь к этому перенос данных, и получишь рецепт катастрофы.

Потребительское поведение также становится более требовательным. Пользователи ждут, что их приложения всегда будут онлайн. Это означает необходимость изящно обращаться с кэшированием, выстраивать запросы в очередь, и решать целый ряд проблем сети. Ах да, еще нужно обеспечить стороннюю интеграцию с Facebook, Twitter и т.д.

Если сложить все это вместе, то поймешь, что недостаточно команды способных разработчиков. Необходимо улучшение платформ разработки.

Рассвет платформ

В последние годы мы наблюдали рассвет X как сервиса, где X может быть чем угодно - от платформы до инфраструктуры или других сервисов. Кто-то может сказать, что все это началось с Amazon Web Services, а потом расцвело пышным цветом в лице таких сервисов, как Heroku, Mailgun, dotCloud и AppEngine.

У всех этих сервисов есть одна общая черта: все они повышают производительность разработчиков. Использовать эти сервисы, это все равно, что стоять на плечах гигантов. Зачем разработчикам создавать очередной деплоймент Rails, если 100% их времени и сил находит отражение в Heroku?

Каждый день платформы сокращают время, которое разработчик затрачивает на код, не относящийся конкретно к приложению. Это означает ускоренную разработку более качественных приложений с фокусом на основном продукте. Да, тебе приходится уступать часть контроля над приложением третьей стороне, но весь смысл платформ разработки заключается в том, чтобы делать что-то одно, но делать это хорошо. Настало время платформ разработки и они будут лишь набирать обороты по мере того, как мир все больше переходит в онлайн.

 
разработка
программирование
статья
0 0 0

Чтобы оставлять комментарии вам необходимо зарегистрироваться