Zdravím, ohledně navržených technologií bych doporučil zkusit Phonegap v kombinaci s nějakým JS frameworkem.
Konrétně já se v naší firmě zabývám vývojem mobilního CRMka (strávil jsem nad tím už určitě víc než tisíc hodin
a naše appka je právě založená na kombinaci Phonegap+AngularJS (FE) a PHP+Java+Postgres (Middleware, BE), komunikace je přes REST API.
Pokud chcete zůročit své zkušenosti s Javascriptem a nechcete vyvíjet aplikaci v několika odlišných prostředích (Java, OjectiveC, atd.), pak takovou kombinaci můžu doporučit. Na začátku (pro osvojení si správných postupů) to bude trochu náročnější, než nativní vývoj, ale do budoucna to čas ušetří. Pro Phonegap existuje mnoho pluginů pro přístup k nativním funkcím (např. ke kalendáři, mapám, foťáku apod.) nebo si můžete vlastní pluginy doprogramovat sám. Pokud zvolíte AngularJS, tak si musíte dát pozor na to, že nesprávný návrh může vést ke špatné performance aplikace, takže doporučuju použít Angular jen pro MVC základ, ale na komponenty s náročnějším UX (listView, formulářové komponenty, taby apod.) bych použil nějaký existující pure JS framework (my využíváme např. Mobiscroll).
S čistě nativním vývojem zkušenost nemám, ale zaujal mě projekt CodenameOne, pro cross-platform "nativní" vývoj (v Javě). Trochu mě odradila nemožnost sestavení aplikace jinde, než na jejich serverech.
Ze své zkušenosti můžu říct, že vývoj mobilních aplikcí JE náročný (ať už nativně nebo ne), zvlášť pak něčeho takového, jako je CRM
. Takže přeji úspěšný start do projektu, ale věřte, že je na trhu řada vhodných řešení, které vyjdou na pár stovek na licenci měsíčně, takže se to možná ani nevyplatí vyvíjet na kolenou (viz naše CRM
https://raynet.cz/mobilni-pristup.html).