Все мы помним, что некоторое время назад корпорация Microsoft продемонстрировала кардинально новый пользовательский интерфейс ОС Windows 8. Публике, по большому счёту, представленные новшества пришлись по душе. И вправду, как тут не влюбишься с первого взгляда в такой красивый, продуманный, быстрый и дружественный к пользователю интерфейс новой ОС? К тому же, впервые за всю историю настольных операционных систем от Microsoft новый интерфейс является оптимизированным для использования с устройствами, оснащёнными сенсорными экранами. Однако один аспект демонстрации глубоко обеспокоил большинство разработчиков по всему миру, и не без оснований: разработчикам заявили, что весь их опыт, все их существующие знания, каждая программа, которую они создавали раньше, всё это будет практически бесполезным в новой Windows 8.
Домашний экран в ОС Windows 8
Всё дело в том, что ключевым моментом в новом облике Windows 8 являются так называемые полноэкранные приложения следующего поколения – Immersive applications; название походит от кодового имени нового интерфейса Windows 8 – Immersive Shell (Immersive с англ. погружение, или создание эффекта присутствия). Добавьте к этому стремление Редмонда сделать новую ОС максимально оптимизированной для мультисенсорных экранов, и в итоге вы получите новую программную платформу, на которой и будут работать все новые приложения для Windows 8.
Для Windows 8 будут представлены новые API (интерфейс программирования приложений), позволяющие разрабатывать приложения нового поколения, но в этом то и заключается главная проблема. Разработчики озабочены не самим появлением новых API, а тем, что раньше никто из них не делал ничего подобного для Windows, а также тем, что все существующие API нельзя будет использовать для новой ОС; в Microsoft настаивают, что нужно будет использовать новые API.
Во время демонстрации нового интерфейса Windows 8 Джули Ларсон-Грин (Julie Larson-Green), вице-президент корпорации Microsoft отвечающая за пользовательский опыт при работе с Windows, коротко показала новое поколение приложений на примере приложения "Weather" (погода). Госпожа Ларсон-Грин уточнила, что данное Immersive-приложение создано с использованием новой платформы разработки под Windows 8, которая основана на HTML5 и JavaScript.
Осознание всего ужаса грядущих перемен
В своё время разработчики приложений для платформы Windows вложили (да и сейчас продолжают это делать) довольно много времени, усилий и денег в адаптацию к существующей программной платформе. Многие годы все они учились работать с такими технологиями, как Win32, COM, MFC, ATL, Visual Basic 6, .NET, WinForms, Silverlight, WPF. Все эти технологии были, в тот или иной момент времени, эффективным инструментарием для создания настольных Windows-приложений. За исключением, пожалуй, Visual Basic 6 все они сейчас в той или иной мере поддерживаются в Windows, и ни одна из перечисленных выше технологий не может полностью заменить другую. Все эти технологии, за исключением Visual Basic 6 и WinForms, играют ключевые роли в современной разработке под Windows. Так было до недавнего времени…
С выходом на рынок Windows 8 ситуация с разработкой под новую ОС кардинально изменится. В качестве основной программной платформы новая ОС будет использовать HTML5 вместе с JavaScript, и этим фактом недовольны большинство разработчиков по всему миру. Такой вынужденный переход одним махом уберёт все знания, весь накопленный опыт разработки для платформы Windows за последних два десятилетия. Это также значит, что придётся отказаться от всех существующих наработок, мощных и функциональных фреймворков, а также, что ещё более важно, придётся отказаться от пользующейся ныне колоссальной популярностью интегрированной среды визуальной разработки Visual Studio. И всё это ради более примитивной и слабо развитой системы, которая значительно уступает по функционалу и набору инструментов.
Вполне ожидаемая и оправданная реакция
Идея Редмонда в отбрасывании всего накопленного опыта кажется сумасшествием, и можно подумать, что от разработчиков поступит такая же чрезмерная реакция, но такой шаг следует рассматривать как подтверждение курса, взятого Microsoft уже некоторое время назад: перемещение HTML5 на первый план, несмотря на её неполноценность в сравнении с другими технологиями. "Если вы хотите использовать новую платформу для разработки своих приложений, вам придётся подружиться с HTML5 и JavaScript", – это заявление шокировало многих разработчиков, но оно прозвучало вполне убедительно для того, чтобы его восприняли всерьёз.
Редмонду никогда не удавалось в точности следовать заранее выбранной стратегии развития платформы для разработки ПО. Было слишком много внутренних противостояний, попыток соответствовать модным тенденциям, а также слишком много программного обеспечения, которое шло в разрез с новыми парадигмами. Однако где-то полтора года назад начало казаться, что всё это осталось в прошлом и ситуация на рынке разработки ПО под Windows начинает стабилизироваться. Понемногу приходило понимание того, что комбинацию таких технологий, как .NET, Windows Presentation Foundation (WPF) а также Silverlight можно эффективно использовать в большинстве современных сценариев разработки прикладного ПО. WPF и .NET обеспечивали гибкий, высокоуровневый и структурированный подход для написания приложений с графическим интерфейсом, а Silverlight, по большому счёту являясь урезанной версией WPF, могла быть использована как плагин для браузеров сразу на обеих популярных платформах – Windows и Mac OS X.
Ни одна из этих технологий не была идеальной: WPF никогда не была такой быстрой, как ей следовало быть, а Silverlight так и не стала настоящей кроссплатформенной технологией, однако и та и другая нашла своё настоящее место в современном мире разработки. WPF и .NET использовались при разработке больших приложений, а Silverlight в основном для портативных сценариев (а ещё для современных бизнес-решений).
Продолжение следует… / To be continued…
P.S. Вторая часть статьи уже доступна на этой веб-странице.