V čem napsat mobilní aplikaci (frontend only)

V čem napsat mobilní aplikaci (frontend only)
« kdy: 12. 01. 2016, 18:09:57 »
Vim, ze se vedle resi neco podobnyho, ale vlastne jinyho.

Screnar:
- mam webovy projekt, neco jako intranet/CRM
- webovy framework na kterem je to postavene ma slusny moznosti REST API apod. (je mi jedno jestli bude komunikovat v xml nebo json formatu apod)
- potrebuju v podstate dve veci ktery bych oznacil jako "Views" (tabulkove vypisy dat) a Forms(editace zaznamu z tech tabulek), do budoucna budu potrebovat mapy (treba pro planovani trasy "tady jsem" -> adres/GPS souradnice bodu zajmu)
- zacnu na Androidu, ale rad bych v budoucnu co nejjednoduseji mel to same na Apple s minimalni praci na portovani a udrzovani dvou aplikaci - na rozdil od kolegy ve vedlejsim threadu vubec neresim desktop protoze tam mam webovy ksicht ktery je ok, ale kouzelne slovicko "responsive" tady proste nefunguje k tomu, aby to bylo v mobilu opravdu pohodlne
- pro jednoduchy rozjezd muzu pracovat jen s online daty, ale do budoucna by se to melo dat vylepsit o neco jako cache(treba sqlite). Vzhledem k tomu, ze je to neco jako CRM rekneme, ze bych dovolil lokalne ukladat kontakty ktere patri danemu pracovnikovi, ale nemohl by si stahnout celou databazi).

Ano, jsem jen pouhy "webovy lepic"(php),  takze jako prvni me napada udelat to v nejakym JS frameworku(Angular, React nebo tak neco) a v podstate to jen zabalit pres nejaky browser canvas do appky ktera si bude umet zapamatovat login, nejaky predvolby, notifikace. Tohle bych v budoucnu treba mohl zpetne pouzit pro "normalni" web namisto soucasneho frontendu ktery je zhusta prolozeny jquery.
Děkuji za možnost editace příspěvku.


Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #1 kdy: 12. 01. 2016, 18:17:33 »
A jeste pridam takovy use-case jako dotaz "zvladne tohle ten JS framework"?

Databaze kontaktu(nereste proc ne CardDAV apod), tam telefonni cislo - kliknu - vytacim - po skonceni hovoru aplikace tento hovor zaznamena do DB(lhostejno ci odeslanim pozadavku pres REST nebo primarne do local storage a na server odeslani pak podle nejakych sync pravidel).
Děkuji za možnost editace příspěvku.

Vakabus

Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #2 kdy: 12. 01. 2016, 18:24:15 »
Ahoj,

nedavno jsem zkousel Adobe PhoneGap. https://build.phonegap.com/ Osobne se mi to moc nelibi a nakonec jsem to nepouzil, ale treba to Tebe zaujme. Aplikaci to navic udela i pro Windows Phone, coz se nekdy muze hodit.

Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #3 kdy: 12. 01. 2016, 18:32:38 »
Diky, na to mrknu.

Jeste jedna vec ktera nam nejak prisla dobra: aby to vypadalo podobne jako "moderni appky" v Androidu - vlevo menu "vytazenim", vpravo dole "plusko" s pripadnou podnabidkou.
Zkratka neco co bude UI/UX velmi blizke Keep, Inbox, Drive apod. to jsou taky jen mobilni ksichty pro webovy aplikace.
Děkuji za možnost editace příspěvku.

Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #4 kdy: 12. 01. 2016, 18:59:06 »
Jen poznámku - nečekejte, že Vám nástroj pro vývoj mobilních appek s možností cílení na více platforem ušetří práci. Naopak, ze začátku vám ji akorát přidělá. Ušetří ji možná až tomu, kdo zná všechna úskalí a zná dobře i nativní platformu a její varianty a možnosti. Zadruhé, pokud to bude v javascriptu, můžete se rychle dostat do úzkých při debuggingu. Jinak dobré může být si projít přehledy https://en.wikipedia.org/wiki/Multiple_phone_web-based_application_framework a https://en.wikipedia.org/wiki/Mobile_application_development


Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #5 kdy: 12. 01. 2016, 19:23:59 »
Ten javascript byl jen jeden z napadu vychazejici z toho co znam aspon trochu - vubec to neni nutne. Vubec nepotrebujeme zadny speciality podle platformy, jde nam jen o nasledujici:
- jednoduche tabulky (pro predstavu proste vypis se sloupci nazev firmy, mesto, proklik na detail)
- formulare pro vytvareni/editace entit (treba tech firem - jednoduchy veci jako textfield, select, radios, date...) a to same pro filtry tech tabulek (vstup se odesle na server, filtrovana data posila zpatky server protoze treba fulltext pres solr)

Jde mi o to, abych do budoucna v idealnim pripade nemusel mit definice stejnych formularu na dvou mistech. Kdyz budu chtit omezit treba delku vstupu "Nazev firmy" tak bych to rad napsal na jedine misto. Pokud vsak bude nejaky udelatko od Google ktery mi tento typ aplikace pomuze udelat jednoduse tak to ma mnohem vyssi prioritu.
Děkuji za možnost editace příspěvku.

andy

Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #6 kdy: 12. 01. 2016, 19:28:04 »
Pozri sa na google material design a polymer.

Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #7 kdy: 12. 01. 2016, 19:40:51 »
Jo, Material pomalu ale jiste objevujeme - zatim aspon jako CSS a libi se nam. Unifikace timto smerem je zadouci.
Děkuji za možnost editace příspěvku.

Sheldonizátor

Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #8 kdy: 12. 01. 2016, 20:14:55 »
Zajímavě vypadá tento framework OpenUI5 od SAPu, ale jsou na něm i věci které lze kritizovat. Ale účel by to mohlo splnit, tady je demo...

Další pěkná magořina se scaffoldingem v python je qooxdoo (kůksdů? :D), tady je showcase.

Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #9 kdy: 13. 01. 2016, 10:29:29 »
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).

Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #10 kdy: 13. 01. 2016, 13:48:05 »
Jenze zadne takove CRM nepokryje zakladni pozadavky ktere jsou tady (opensource na vlastnim zeleze, custom kalkulace, nejaky interni procesy a workflow...).
Děkuji za možnost editace příspěvku.

opio

Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #11 kdy: 13. 01. 2016, 15:52:24 »
Pokud nenativne, doporucoval bych Ionic (coz je v podstate apache cordova + jejich komponenty v angularu). Nejdriv sem nechtel pouzivat angular, tak sem zacal s phonegap, backbonejs a k tomu kombinoval ruzne css frameworky, ale prave kvuli nim to nebylo ono. Ionic ma pripraveno mnoho ui komponent a to opravdu pomuze. V zakladnich stylech asi nemaji material design, ale to pro nas nebyla priorita. Appka vypada stejne na iOS i Androidu.

Debugovalo se dobre pres ADB TCP/IP a device inspector v chrome.

Kompilace pomoci build.phonegap.com (pri buildovani se da zaskrtnout debug, aby webkit okno aplikace bylo pristupne pres device inspector), lze zautomatizovat pres jejich api (muzu poslat bash)

čumil

Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #12 kdy: 13. 01. 2016, 19:08:53 »
Chtěl jsem navrhnout Meteor, ale pokud už máš backend s nějakým tím REST API, nebude to pro tebe protože je to něco absolutně diametrálně odlišného.

karel

Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #13 kdy: 13. 01. 2016, 21:59:53 »
A co takto OpenUI5 od SAPu?

Re:V čem napsat mobilní aplikaci (frontend only)
« Odpověď #14 kdy: 13. 01. 2016, 23:32:26 »
Diky za rady, musim se tim prokousat, ale mam pocit, ze jste mi usetrili dost casu hledanim spravnych keywords pro google apod. Zatim jsem se kazdopadne ujistil, ze neresim "native".

Asi se nejak smeruju k vyberu PhoneGap vs Ionic(asi mirne favorizuji Ionic) a asi pouziti Material designu (nasel jsem treba http://ionicmaterial.com/ ).
Děkuji za možnost editace příspěvku.