Какие технологии использовать для мобильных приложений?
=========================================================

 Здрасте!  
  

Пришло время постичь мобильную разработку))) Узко специализироваться не хочется, да и не получиться. Поэтому встал вопрос, что лучше: **использовать нативные технологии и языки (Java, Obj-C, C#) или же использовать кроссплатформенные технологии (PhoneGap, Mono, ...)?**  
  

Хотелось бы получить ответ на вопросы: какие ограничения (для кросс-платформы), стоит ли вообще туда лезть, можно ли на них норм проект написать и т.д.  
  

Разрабатывать планирую приложения (не игры). 

 Для изучения и погружения в мобильную разработку в целом, на мой взгляд, сначала лучше пробовать нативные языки и инструменты. У каждой платформы разработан свой lifecycle для приложения, свои дизайн-гайдлайны и принципы, свои паттерны, и они, в общем случае, даже близко друг к другу не стоят. Я уже молчу о различии в языках на этих платформах (Obj-C в iOS против псевдо-Java в андроиде). Если есть желание стать дико прошареным во всем и сразу - в любом случае придется изучать официальную документацию по платформам.  

Что касается кроссплатформенности. За PhoneGap и остальные html фреймворки - не знаю, не пробовал. Xamarin же используют в основном в разработке корпоративных приложений, для того, чтобы избежать дублирования слишком сложной бизнес-логики на разных языках в приложениях на разных платформах. Ну и для ускорения и удешевления разработки, соответственно. Это безусловно интересный инструмент, но чтобы его правильно использовать, опять же, нужно понимание платформ и их особенностей, т.к. write once - run everywere и здесь не получится, есть свои особенности, как раз за счет концептуального различия платформ. Xamarin старается их максимально сгладить, но в этом месте начинаются просадки в производительности.  
  

В общем, тема обширная и холиварная, но мой основной поинт - начинать с нативного. 

 Зависит от того , какие приложения собираетесь написать.  

Смотрите api phonegap и т.д., если там есть все что вам необходимо, можно на них, но лично не рекомендую, не то это как ни крути.  

нативные технологии дают больше преимуществ и производительнее 

 Вчера дали html кросплатформенное приложения для ознакомления, меня не покидает чувство что я кого то убил или по пять раз на дню плевал разрабам того приложения в борщ и это мне наказание ))  

чем провинились миллионы пользователей я не знаю )))  

зы приложение для html неплохое, по сравнению с другими но багов и тормозов не мерено. 

 А почему не хотите специализироваться?? Я сам выбрал сейчас Андроид и пока не жалею... Хотя заказы в основном попадаются именно для двух платформ, но делаю я только под одну. Другую отдаю другим программерам...