|
|
|||||||||||||||||||||||||||||
|
Весь ужас разработки приложений под Windows 8. Часть 2Источник: arstechnica Виктор Голуб
Крушение надежд…И тогда на горизонте, совсем "неожиданно", возник Internet Explorer 9… Microsoft "подсела" на модную тенденцию - HTML5, после чего всё опять начало переворачиваться вверх ногами. До появления IE9 Silverlight оставалась ключевым решением корпорации для разработки кроссплатформенных приложений. Отсутствие широкой поддержки платформы означало лишь, что Sliverlight могла так никогда и не победить (в численности) своего главного соперника - технологию Flash, однако Редмонд уделял ей много внимания, и Silverlight работала действительно очень хорошо на платформах, которые поддерживались данной технологией. Когда вышел Internet Explorer 9 Silverlight перенесли на лавку запасных; HTML5 стала приоритетным направлением. Теперь, если Silverlight и будут использовать, то будут делать это только для тех вещей, с которыми новомодная HTML5 справляется не слишком хорошо, к примеру - видеостриминг. Для всего остального разработчикам предписывают использовать HTML5, по крайней мере, об этом сейчас говорят высокопоставленные сотрудники Microsoft. Если хорошенько подумать, то покажется, что возможно в Microsoft приняли верное решение. Если вы действительно хотите разрабатывать кроссплатформенные приложения - HTML5 является идеальным выбором. Для веб-приложений, которые не требовали бы каких-либо специфических ресурсов или выполнения специфических задач, к примеру - DRM видео, HTML5 является перспективной платформой для разработчиков. Однако сторонние разработчики были не в восторге от обнародованной информации, их точку зрения никто даже не спросил. По сути, для разработчика, пишущего корпоративное бизнес-приложение, не составляет особого труда портировать их под различные плагины для браузеров, и благодаря этому Silverlight пользовался, да и все ещё пользуется большой популярностью. HTML5 остаётся верным своим традициям - это отличный инструмент для создания веб-страниц с гипертекстовой разметкой, однако его нельзя считать хорошим инструментом для проектирования пользовательских интерфейсов веб-приложений. В то время как Silverlight-разработчик может позволить себе использовать богатые инструментальные возможности этой технологии, такие как кнопки, иконки, текстовые списки, различные древовидные структуры, а также другие управляющие элементы интерфейса, HTML5 приложениям приходится довольствоваться лишь текстовыми блоками и подобными им структурами, без возможности использовать хоть какие-то управляющие элементы интерфейса высокого уровня. Да, многие скажут, что существуют различные библиотеки JavaScript, позволяющие закрыть этот пробел, но они всё равно предлагают меньше возможностей, чем имеется в наличии у Silverlight (даже старых версий). В конце концов, если бы кто-то взялся проектировать фреймворк для разработки пользовательских интерфейсов, то в конечном итоге он был бы более похож на Silverlight, чем на HTML5. Ещё одним слабым местом HTML5 является его инструментарий. Инструменты для проектирования и разработки веб-приложений, присутствующие в HTML5, не настолько развиты и их количество не столь велико, как в случае с инструментарием, присутствующим в Silverlight. Это делает разработку с использованием HTML5 более сложной и затратной по времени, особенно если учитывать тот факт, что сложность приложений с каждым годом значительно увеличивается. И пока что Редмонд не сильно преуспел в решении этих проблем, хотя он сейчас и начал позиционировать HTML5 как приоритетное решение для разработки веб-приложений. Однако кое-что Редмонду сделать с HTML5 таки удалось: инженеры корпорации спроектировали Internet Explorer 9 с использованием API Direct2D. Direct2D - это графическая библиотека, которая использует технологию Direct3D 10 для ускорения вывода графики на экран. Благодаря этому HTML5 работает действительно настолько быстро, что ни Silverlight, ни WPF не могут тягаться с ней по этому показателю. Интересно, что Direct2D является даже более низкоуровневым API, чем HTML5 (если вообще можно делать подобное сравнение). Несмотря на то, что HTML5-страницы построены в основном на базе текстовых блоков, такие блоки не являются примитивными: они могут менять своё расположение, границы, фон, и многое другое. Но Direct2D может управляться и с гораздо более сложными объектами, чем просто изогнутые линии (или даже группы таких линий), и при этом разработчик может задавать каждый аспект макета веб-страницы. К тому же, в отличие от WPF, которая совсем не эффективно использует возможности Direct3D, Internet Explorer 9 вместе с Direct2D являются очень оптимизированной связкой, которая действительно эффективно использует доступные аппаратные ресурсы компьютера. На самом деле, вместе с релизом Internet Explorer 9 Редмонд попытался донести до разработчиков две вещи:
Но если вы захотите иметь в своём распоряжении специальный высокоуровневый API с высокой производительностью (к примеру, тот же самый WPF, который построен сверху Direct2D) - этому не бывать. Таким образом, мы имеем готовящуюся к релизу ОС Windows 8, которая стала своего рода кульминацией политики Microsoft за последних несколько лет. Как видим, Редмонд "благословляет" HTML5 как платформу разработки под свою новою ОС даже несмотря на все её недостатки. И разработчикам нужно будет принять такие условия Редмонда, если они планируют создавать новый тип приложений для Windows 8. Какой бы сумасшедшей и разрушительной не казалась бы эта политика Microsoft, она имеет чувство согласованности. Выпуск девятой версии Internet Explorer и перемещение Silverlight на лавку запасных было первым шагом на этом пути; новый тип приложений (immersive applications), требующих использования HTML5 - это следующий шаг. А в эфире тишина…Учитывая сложившуюся ситуацию и некоторую панику / страх, распространяющиеся в сообществе разработчиков, логичным было бы ждать от Microsoft какого-то действия, чтобы успокоить их всех. В конце концов, если корпорация на самом деле не собирается отправлять на свалку в архив все знания и накопленный опыт каждого Windows-разработчика, вероятно, что хорошей идеей было бы поведать об этом. Вместо этого в Microsoft решили, что наиболее правильным ответом будет заявить о том, что D9 не является мероприятием для разработчиков, и что все подробности относительно новой платформы Windows-приложений станут известны в сентябре, на конференции BUILD (бывшая конференция PDC). А что прикажете думать до этого события? А ничего! Ни тебе даже скупой реплики, к примеру: "Не волнуйтесь, там, безусловно, будет возможность использования .NET и собственного кода, что позволит вам создавать захватывающие приложения нового поколения; мы не собираемся отказываться от всего накопленного за десятилетия опыта, вы сможете использовать все знакомые вам инструменты". Ни этого, ни чего-то подобного… Продолжение следует… / To be continued… P.S. Читайте в третьей, заключительной части статьи о развитии рынка приложений для WP7, зарождении идеи создать такой же рынок приложений для Windows 8, а также выводы из всей этой истории. Я расскажу вам о том, что на самом деле на уме у Microsoft, и почему она поступила таким образом с Windows-разработчиками. Все это и многое другое уже завтра утром! Ссылки по теме
|
|