Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: to_je_jedno 12. 01. 2016, 18:09:57

Název: V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: to_je_jedno 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.
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: to_je_jedno 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).
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: Vakabus 12. 01. 2016, 18:24:15
Ahoj,

nedavno jsem zkousel Adobe PhoneGap. https://build.phonegap.com/ (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.
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: to_je_jedno 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.
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: Ondrej Nemecek 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
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: to_je_jedno 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.
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: andy 12. 01. 2016, 19:28:04
Pozri sa na google material design a polymer.
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: to_je_jedno 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.
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: Sheldonizátor 12. 01. 2016, 20:14:55
Zajímavě vypadá tento framework OpenUI5 (http://openui5.org/) od SAPu, ale jsou na něm i věci které lze kritizovat. Ale účel by to mohlo splnit, tady je demo (https://openui5.hana.ondemand.com/#demoapps.html)...

Další pěkná magořina se scaffoldingem v python je qooxdoo (http://qooxdoo.org/) (kůksdů? :D), tady je showcase (http://demo.qooxdoo.org/devel/mobileshowcase/index.html).
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: dusag 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).
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: to_je_jedno 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...).
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: opio 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)
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: čumil 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.
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: karel 13. 01. 2016, 21:59:53
A co takto OpenUI5 od SAPu?
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: to_je_jedno 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/ ).
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: Ondřej Novák 14. 01. 2016, 00:01:12
Děkuji za téma. Phonegap jsem neznal

(připomíná mi to nwjs pro mobily)
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: Tome 14. 01. 2016, 09:46:32
Ja som nedavno riesil podobny problem a zaujalo ma RAD Studio. Umoznuje v Pascale (Delphi) a C++ pisat jeden kod a vybuildit app na vsetky platformy naraz (Win/Mac/Android/iOS).

Kedze som kedysi davno programoval v Delphi (a doteraz rad - je to fantasticky jazyk/prostredie) oprasil som vedomosti a prave robim na jednej appke a zatial je to bomba. Je to vyhodne prave preto, ze neovladam tieto webove veci a kodim nativne.
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: Neználek 14. 01. 2016, 10:15:34
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/ ).

PhoneGap a Ionic se doplňují, není třeba mezi nima vybírat.

Ještě upozorním na rozdíl mezi PhoneGap a Cordovou na které je PhoneGap vystavěný, viz http://stackoverflow.com/questions/18174511/is-there-a-difference-between-phonegap-and-cordova-commands
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: to_je_jedno 14. 01. 2016, 10:45:43
Tome: kdyz ja prave nikdy nedelal nic jinyho nez ty webovy veci a nepotrebuju honit vykon apod, takze pro me je idealni cesta "zapouzdrit" html do appky.

Neznalek: diky za upozorneni, musim dal studovat abych pochopil presny vyznam te ktere veci, nejak jsem myslel ze jsou to konkurencni platformy obe postavene na Cordova.
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: hu 14. 01. 2016, 10:54:27
Ja som nedavno riesil podobny problem a zaujalo ma RAD Studio. Umoznuje v Pascale (Delphi) a C++ pisat jeden kod a vybuildit app na vsetky platformy naraz (Win/Mac/Android/iOS).

:vomit:
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: opio 14. 01. 2016, 11:46:35
PhoneGap a Ionic se doplňují, není třeba mezi nima vybírat.

Phonegap na rozdil od ionicu nijak nedefinuje vzhled aplikace, je mozne jej pouzit s libovolnym js/css frameworkem. Ionic je v tomto "lepsi", je postaven na angularu a ma definovane vlastni ui komponenty nejen nastylovane, ale pomoci directive angularu vytvorene aby na tabletu/telefonu dobre fungovaly, dobre se napojovaly eventy apod.

Ale je pravda ze neni problem vytvorit app v ionicu (je to jen html/css/js) a pak vyuzit vsechny nastroje phonegapu.. build, phonegap devel apod.

Phonegap devel aplikace na mobilni telefon se muze zdat skvela pro testovani, dokud se nepouzije externi cordova plugin. Funguji pouze senzory a veci, ktere jsou soucasti apache cordova. Pak je lepsi testovat na telefonu pres ten device inspector.
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: opio 14. 01. 2016, 11:55:27
Christophe Coenraets vytvarel stejnou aplikaci Employee Directory v ruznych frameworcich

http://coenraets.org/blog/2014/02/sample-mobile-application-with-ionic-and-angularjs/
http://coenraets.org/blog/2014/08/employee-directory-sample-app-with-ionic-and-node-js/
http://coenraets.org/blog/2012/03/employee-directory-sample-app-with-backbone-js-and-jquery-mobile/
http://coenraets.org/blog/2014/02/employee-directory-sample-application-with-ratchet-2-0/
Název: Re:V čem napsat mobilní aplikaci (frontend only)
Přispěvatel: to_je_jedno 17. 01. 2016, 23:03:48
Takze zatim se vrham smer Ionic a do nej jako plugin Material.

Vzhledem k vyse recenemu nam asi nebude moc platny PhoneGap protoze uz ted vidim minimalne 3 cordova pluginy ktere potrebuji nebo pri nejmensim ocenim(notifikace local a asi i push, hlidani dokoncenych hovoru, oauth, in app browser aby slo vytacet kontakty bez potvrzovani).

Kazdopadne jsem za vikend zjistil jak je jednoduche dostat do telefonu prvni Hello world (treba ctecku vlastniho RSS kanalu) a zaroven jak bude daleka cesta k vyuziti potencialu. A co me tesi dvojnasob - lze to vyvijet v linuxovym desktopu (zajimavy, ze snad vsechny tutorialy jsou z Ubuntu nebo z Apple)