Серверные и клиентские платформы разработки. Что выбрать? Сергей Рыжиков генеральный директор компании «1С-Битрикс»
Что выбрать? На протяжении всей истории развития софтверной отрасли перед разработчиками стоит вопрос: на чем разрабатывать решения для клиентов и как продавать? Неправильный выбор может привести к короткому жизненному циклу приложения и не позволит окупить затраты. Меняются платформы, инструменты разработки, коммуникации, концепции. Операционная система является основным и самым популярным программным продуктом, но без наших с вами программ он не представляет никакой ценности. Выбор ОС делают разработчики, поэтому идет война за умы…
Война за умы Почему стоит вопрос выбора платформы? Он был всегда. Всегда шла геополитическая война за умы - борьба за доминирование на рынке. DOS, Win 16, OS/2, Win32, Linux… Причины любой войны лежат в экономике.
Военная стратегия Стратегические игроки: Microsoft, IBM, Oracle+Sun, Google, Adobe. Стратегические ходы делаются с расчетом на 5-10 лет. Цена ошибки – бизнес. То, что сегодня нам кажется игрой в популярность - это попытка предугадать и выиграть будущее. Стратегия – это не про завтра, а про послезавтра. Сегодня мы видим результат стратегических решений конца 90-х гг.
Немного истории Выбор при переходе от DOS к Windows или OS/2 был сделан разработчиками. Переход на Windows платформу позволил стандартизировать приложения и обеспечил высокую скорость разработки. Microsoft победил на рынке средств разработки, вытеснив Borland,... и других. Visual C++ становится стандартом для разработки приложений. Sun выпускает Java, в дальнейшем J2EE, завоевывает Enterprise сегмент. Microsoft делает самую большую ставку в истории на.NET
Стратегические решения.NET анонсируется в 1999 г. В феврале 2000 выпускается релиз. Если бы Microsoft не сделал тот стратегический шаг в 99-м, как бы мы воспринимали Microsoft сегодня, в 2009? Если бы не было.NET, то сегодня интерес к платформе Microsoft ослабевал бы на глазах.
Все зависит от разработчиков В истории уже были случаи, когда Novell, контролирующий 99% сетевых систем, проиграл рынок, не сумев стать сервером приложений и не сумев заинтересовать разработчиков. Более качественная на тот момент OS/2 не смогла привлечь разработчиков. ВСЕ ЗАВИСИТ ОТ РАЗРАБОТЧИКОВ. От их выбора зависит судьба платформы.
Open Source Пока J2EE воевал с.NET формировалось сообщество Open Source, ставшее заметной силой. Пока Microsoft был занят стратег войнами за рынок Enterprise с J2EE и выводом своей платформы.NET в корпоративный сегмент, Open Source решения завоевали рынок серверной интернет-разработки. Лидером стал PHP - простой в освоении, быстрый, функциональный и самое главное - с большим количеством современных клиентских приложений. Масса клиентских приложений вытянули UNIX/LINUX системы. Open Source становится заметной силой, отдельным игроком, которого активно начинают поддерживать все, кто не стоит в лагере Microsoft. Linux становится привлекательной серверной платформой, потому что есть приложения на PHP, Perl, Python, Java, Ruby on Rails. И что очень важно – Open Source идет снизу от частных пользователей SMB и последовательно поднимается в Enterprise. Windows исполняет PHP?
Движение снизу вверх Парадоксально, но для софтверщиков двигаться снизу вверх легче, чем сверху вниз. Microsoft начинает двигаться с клиентских платформ, поднялся в SMB и потом в Enterprise. J2EE не смогла спуститься из Enterprise в SMB. И Google сейчас идет снизу вверх.
История повторяется? Значение поиска растет с ростом накапливаемой информации. Поиск уже рассматривается как стратегический актив на уровне государства. Google становится носителем и символом новой идеологии программного обеспечения.
Интернет-платформы Новая серверная платформа выглядит как Сервис с API + браузер + мобильное устройство. Google работает с частниками и последовательно идет в SMB и далее в Enterprise. Пользователи перемещаются жить в сеть. «Можно 6 месяцев прожить без секса, но нельзя 2 дня прожить без сети».
«Облачные вычисления» Виртуализация SaaS PHP Java.NET Microsoft Google VM Ware Облачная обработка данных (англ. Cloud computing) технология обработки данных, в которой программное обеспечение предоставляется пользователю как интернет-сервис. Пользователь имеет доступ к собственным данным, но не может управлять и не должен заботиться об инфраструктуре, операционной системе и собственно программном обеспечении, с которым он работает.
Мобильные платформы Прогресс аппаратных устройств и каналов связи опережает самые оптимистичные ожидания. Мобильные устройства могут стать единственным вариантом доступа к сервисам. Стратегические ходы еще не сделаны…
Сервисы в онлайне Если продолжать стратегию размещения основных сервисов в онлайне, то браузер и клиентские технологии становятся единственным, что будет размещено на мобильных устройствах, нетбуках, а в перспективе и в офисах. Windows-клиент перестает быть основным вариантом приложения. Больше новых приложений пишутся сегодня под Веб, что опять ставит вопрос о доминирующей платформе. Основные технологии разработчиков: AJAX, активно поддерживаемый Google, со специальными офлайновыми дополнениями, SilverLight3 от Microsoft и Adobe Flash с Air. Adobe Flash с Air и SilverLight3 стирают границу между веб-приложениями и самостоятельными приложениями. Они могут работать некоторое время без Интернета.
Что выбрать для серверной платформы? кроссплатформенный Open Source, отлично исполняемый на Linux и Windows во главе с наиболее популярным PHP одноплатформенный.NET, но на очень популярной платформе другие слабо тиражируемые решения для разработки серверной части сервисов В текущий момент разработчик может выбрать в качестве серверных платформ:
Что выбрать для клиента? Reach Application на базе AJAX-интерфейсов со сложным циклом подгонки под разные браузеры Flash-интерфейсы, хорошо зарекомендовавшие себя и распространенные в будущем - SilverLight3
Что выбрать для мобильных устройств На мобильных устройствах сегодня востребованы приложения с коротким циклом разработки: Приложения для Windows Mobile Приложения для iPhone В будущем - Android, но скорее всего это будут онлайн- сервисы с использованием API Google
Пользователи выбирают не платформу, а решение своих бизнес-задач, потребностей или развлечения. От разработчиков зависит, какая платформа будет выбрана.
Спасибо за внимание! Вопросы? Сергей Рыжиков