Не так давно возникла у нас в организации потребность написать простенькое приложеньице. Мобильное. Под все платформы. Кто будет делать? Да кто поменьше занят, тот и будет. Кто у нас ничего на работе не делает, тот я!.. В общем, раздумья, кто будет делать, длились недолго. Ну и как говорится, чего тут думать, прыгать надо.
Вариантов не так уж и много: можно было попробовать сделать проект на Haxe, на c# в среде Xamarin или Unity, или же на JS с использованием Corona, Titanium, Phonegap / Cordova. Unity жрёт батарейку как не в себя, остальные платные решения были отвергнуты (т.к. проект некоммерческий). А когда-то давно я видел такую штуку как Ionic (но не успел сделать на нём проект, проект остановился на фазе проектирования UI, ввиду финансовых проблем у заказчика).
Набросал простенький программистский интерфейс, сделал за ночь proof-of-concept приложение, показал на работе — вроде, все довольны плавностью работы, только Дениска говорит, что будет тормозить на реальных данных. И правда, потом оказалось, что на 100 записях программа работает заметно медленнее, чем на 10. А на 1000 записей начинает заметно тормозить. Решение поступило от коллеги - не программиста :) В проект легло идеально, всех устроило.
Что хочу сказать по прошествию времени. На HTML + JS можно делать приложения. Это не очень просто, надо работать над оптимизацией, но вполне возможно. Ionic — отличный инструмент. DI/IoC удобнейшая штука, я с ней работаю всегда в Java и .NET, было очень приятно видеть её и во враждебном мне JavaScript окружении. Размер приложения на данный момент 3 Мб, что позволит его скачать хоть посредством EDGE.
Ну и те, кому предназначается приложение, вроде бы тоже довольны. Во всяком случае, iOS-версия им приглянулась. На данный момент протестировали работу приложения на айфонах от 4S и выше, и на Андроидах от 4.4 версии — вроде бы всё работает. Как только зарелизимся во всяких там AppStore, напишу, что за приложение. Такие дела.