Когнитивный диссонанс мобильных платформ
Sunday, 7 November 2010 01:01
Небольшой поток сознания.
После того, как я в целях эксперимента установил на свой HTC Touch Cruise на энное время поиграться Android, моя чувствительная душа разработчика ушла в полный когнитивный диссонанс, фрустрацию, шизофрению и аннигиляцию. Потому что эта платформа действительно прекрасна: удобная, быстрая, с интуитивно понятным и согласованным подходом к софту, с нормально заточенным под пальцы UI, и еще тоннами плюшек, плюшечек и тульских пряников. Фрустрацию создает набор факторов в придачу.
Во-первых, я последние три года (сознательная студенческая жизнь) программирую исключительно в стеке Microsoft. Однако в их последнее создание — Windows Phone 7 — я попросту не-ве-рю! Не верю, что на рынке займет достойное место это аляповатое создание, с безвкусными квадратными хабами, с неинтуитивной горизонтальной прокруткой и обрезкой в стиле "Мы не нашли другого способа показать пользователю, что справа еще что-то есть", с жесткой обрезкой нативных приложений (даже у вендоров руки по локоть кастрированы), с ненужной социнтеграцией, зато без многозадачности... в общем, вы уловили суть. Зато под него можно писать на Silverlight. Это, конечно, очень круто, я действительно люблю Silverlight, но виндофоновская система UI, общий вид элементов и идеология километрового скроллинга убивает напрочь все желание писать в ТАКОМ стиле приложения.
Во-вторых, что важнее: для нормальной разработки под Андроид нужен телефон на Андроиде. Любительские прошивки, портированные на левые девайсы, как показал мой опыт, имеют тенденцию в самый неподходящий момент внезапно умирать без предупреждения. А полагаться на один только эмулятор — глупо. Но, в силу того, что я много знаю, отчего нигде не работаю :) — купить еще один HTC не представляется возможным.
В-третьих, разработка под Андроид ведется на Java, которой я как бы классовый враг. Причем реальной основой нелюбви остается именно синтаксис языка и базовые библиотеки, ибо небазовые библиотеки — SDK, которое там очень продумано, ну а run-time вообще не касается обычной Java, приложения перекомпилируются в специальный андроидовский байткод, под их же виртуальную машину. MonoDroid еще пилится, и в любом случае будет платным. Нехорошо.
Но, с другой стороны, я прекрасно понимаю, куда ветер дует. Причем дует уже пару лет как, с момента появления первого iPhone. Вон и Вконтакте подал клич о поиске добровольца на Андроид-разработку, и конкурсы всякие везде объявляют... Да и самому хочется удобный нормальный телефон с полной свободой и горой функциональности. До сих пор идеальным вариантом в этом плане оставался Windows Mobile, несмотря на кучу его сопутствующих косяков. Теперь вектор сместился на новый идеал :) И я в тяжелых затруднениях...