Под какую мобильную платформу проще писать приложения
24.12.2010
—
Новости Hi-Tech
|
В "Компьютерных вестях" мы не раз
Сначала, если позволите, краткое отступление на тему всех рассмотренных нами платформ. Как вы наверняка заметили, большая часть из них основана на собственном стеке технологий - за исключением разве что Andorid и BlackBerry OS, которые работают на основе Java. Пожалуй, можно говорить о том, что сегодня основную головную боль для разработчиков мобильного софта представляет именно этот зоопарк технологий, а не сами особенности платформ. Именно технологии и языки представляют наибольшую сложность, и даже в случае с Java для Andorid и BlackBerry OS всё не так просто из-за различия во внутренней архитектуре платформ и библиотек API, предлагаемых создателями этих операционных систем разработчикам мобильного софта под них. Конечно, такие технологии, как MonoTouch, позволяющие разрабатывать ПО для мобильных платформ с помощью "неродных" для них инструментов, в некоторой степени облегчают жизнь разработчикам, но до настоящей кросс-платформенности пока что далеко, поскольку все они ещё находятся, если можно так сказать, в зачаточном состоянии, что, в общем-то, вполне понятно: поскольку и сам рынок мобильных устройств "взорвался" сравнительно недавно, сторонние инструменты разработки (т.е. те, которые предлагаются не самими производителями этих платформ, а другими компаниями) просто не успевают за самими платформами - в отличие от того же сегмента десктопов, где всё уже давным-давно понятно. Конечно, сообразуясь с потребностями рынка и марксовским "спрос рождает предложение", вендоры девелоперских тулзов однозначно подтянутся, но для этого нужно время. Пока же поставщикам платформ неинтересно и невыгодно делать какие бы то ни было шаги в сторону поддержки кросс-платформенности, поэтому мы и наблюдаем то, что наблюдаем сейчас.
Операционная система Windows Mobile сегодня представлена на рынке мобильных устройств более чем широко, начиная от самых дешевых смартфонов и заканчивая достаточно солидными и дорогими коммуникаторами. Но её доля постоянно сокращается под давлением более успешных конкурентов (прежде всего, конечно, "фруктов" и "роботов"). Тем не менее, Windows Mobile всё еще живее всех живых и уж точно живее многих своих конкурентов, как достаточно давних, так и сравнительно свежих. В чем главное преимущество Windows Mobile, с точки зрения разработчика (то есть, в чисто техническом разрезе)? Прежде всего, это всё-таки Windows. Это очень хорошо - с той точки зрения, что и методы разработки под неё очень хорошо известны, и можно пользоваться достаточно большим объёмом кода, который разработан для "старших" настольных и даже в некоторых случаях и серверных версий Windows. Опять-таки, и распространенность платформы играет на руку разработчику: приложений под неё пишется достаточно много, соответственно, если вдруг возникает какой-то вопрос, можно и спросить у других, и почитать FAQ, то есть без помощи и поддержки разработчик, пишущий под Windows Mobile, вряд ли рискует остаться. Писать под Windows Mobile можно с помощью Microsoft .NET Compact Framework. И, пожалуй, из всех способов разработки под эту платформу именно .NET Compact Framework выглядит наиболее привлекательно. Как пишут на сайте Microsoft, "Microsoft .NET Compact Framework - это среда, не зависящая от оборудования, поддерживающая создание и выполнение управляемых приложений на вычислительных устройствах, ресурсы которых ограничены". По сути дела, Compact Framework - это мобильная версия "большого" .NET Framework'а, оптимизированная для работы в условиях с ограниченными ресурсами и обладающая несколько урезанной, по сравнению с "нормальным" фреймворком, функциональностью, но при этом вполне отвечающая его общей архитектуре и идеологии. Конечно, сторонники открытых технологий могут сказать, что Java в случае Android более интересна и приемлема, но, в принципе, по удобству и по скорости разработки приложений вряд ли можно говорить о существенных различиях в этих параметрах для данных платформ. Поскольку кода на C# и Managed C++ написано в мире тоже немало, то и его повторное использование при создании приложений на Microsoft .NET Compact Framework выглядит весьма привлекательно. Нужно отметить, что не для всех версий платформы Windows Mobile можно писать код с использованием Microsoft .NET Compact Framework, полный список этих версий можно увидеть здесь: Но есть, конечно, и другие варианты программирования под Windows Mobile. Можно писать на чистом, то есть не "дотнетовском", C++. Вполне понятно, что этот подход к разработке позволяет делать более компактные и быстрые приложения (при должном умении, конечно), но требует соответствующих усилий от создающих их программистов. Есть и более экзотические альтернативы: Lazarus, Lexico, NS Basic and Basic4ppc. Часть из них позволяет создавать в конечном итоге родной платформенный бинарный код, часть использует свои надстройки над Compact Framework'ом. Но, в общем и целом, как видите, выбор есть. Что касается среды разработки, то это, конечно же, раз речь идет о Microsoft, "по дефолту" Visual Studio (но, как уже было написано чуть выше, для желающих возможны вариации). Visual Studio - среда популярная, многим хорошо знакомая, стабильная и достаточно удобная, так что это всё только плюс для Windows Mobile. Русскоязычное сообщество разработчиков у данной платформы достаточно большое, литературы на русском тоже хватает, так что освоить её будет несложно и тем, кто с английским на "вы". В общем, казалось бы, одни только плюсы. Но есть и минус. Очень и очень заметный. Windows Mobile, как ни крути, уже старая и, можно сказать, уходящая с рынка программная платформа. На смену ей готовится Windows Phone 7 - хотя почему, собственно, готовится? Уже вполне подготовлена. Конечно, стек технологий и, в целом, сложность разработки не слишком уж сильно отличаются, с точки зрения программиста, от оных для Windows Mobile, но, тем не менее, думаю, что эта система вполне заслуживает отдельного обсуждения в рамках данной статьи, тем более, что и отличия всё-таки тоже присутствуют.
Причина выхода радикально новой ОС для мобильных устройств от Microsoft предельно проста: Windows Mobile теряет долю рынка, а Microsoft вовсе не хочется упускать свой кусок такого лакомого пирога, как рынок мобильных устройств. Интерфейс Windows Phone 7 достаточно серьезно отличается от интерфейса "старушки" Windows Mobile, уже не вызывающей былого восторга у пользователей, но отличия не только в нем. Отечественным пользователям вряд ли пригодится рекламируемая корпорацией интеграция с её фирменными сервисами, такими, как Microsoft Xbox Live и Zune, а вот на Западе эти возможности Windows Phone 7 наверняка помогут Microsoft продвинуть если не саму систему, то хотя бы сервисы. Ну а в общем, конечно, для разработчиков всё достаточно предсказуемо. Новая система ориентирует их на использование новых технологий в стеке Microsoft. Разрабатывать приложения под неё нужно будет на основе Silverlight, XNA и .NET Compact Framework 4. При этом версия Silverlight для Windows Phone 7 будет чем-то средним между "сильверлайтом" третьей и четвертой версий. Основными инструментами разработки становятся Microsoft's Visual Studio 2010 и Expression Blend. Хорошей новостью для многих разработчиков должен стать тот факт, что под эту операционную систему Microsoft разрешит писать уже не только на C#, но ещё и на Visual Basic .NET, который раньше был "за бортом" мобильной разработки. Также хорошо и то, что Microsoft постаралась сделать портирование игр с Xbox Live Arcade максимально простым для разработчиков программного обеспечения. Но при всем при этом представленные Microsoft одновременно с выходом самой новой платформы API для неё отличались некоторой неполнотой, что, конечно, вызвало нарекания у разработчиков. Например, до сих пор недоступны API для работы с Personal Information Manager (PIM), которые жизненно необходимы разработчикам мобильных календарей. Но, в общем-то, думаю, что эти "косяки" Microsoft достаточно оперативно устранит, потому что они реально будут мешать рыночному продвижению новой операционной системы. В общем-то, пока что основной минус Windows Phone 7 состоит даже не в этих технологических нюансах, а в новизне платформы. Пока для нее не появится достаточного количества устройств, писать приложения под эту платформу будет не очень выгодно. С другой стороны, всё-таки Microsoft - это Microsoft, и вряд ли новая платформа от неё будет прозябать в безвестности. Вадим СТАНКЕВИЧ Чтобы разместить новость на сайте или в блоге скопируйте код:
На вашем ресурсе это будет выглядеть так
Всемирно известные истории успеха авторов мобильных приложений до сих пор служат источником вдохновения для множества программистов |
|