Vyvoj multiplatformne rubrika: Programování: Jiné

2 lehotsky
položil/-a 16.12.2013
 
upravil/-a 16.12.2013

Ahojte,
ake su best practices ohladom multiplatformneho vyvoja? Povedzme, ze chcem mat 1 aplikaciu, ktora bude bezat na Androide, iOS, Mac, Linux, Windows a zaroven to bude pristupne cez web ako sluzba pre registrovanych pouzivatelov? Predstavujem si to tak, ze funkcionalita bude vsade rovnaka (povedzme hudobny prehravac), data mozu byt rozne (pesnicky z cloudu v pripade sluzby, pesnicky z disku v pripade nejakeho zariadenia) a grafika tiez moze byt rozdielna.

Nemusi to byt nutne jeden prenositelny subor, kludne nech sa to zbuilduje pre kazdu platformu zvlast, ide mi skor o to, aby som mohol zdielat kod a to idealne bez uprav. Su na to nejake nastroje, frameworky?

Diky.

odkaz
7 vlkodotnet
odpověděl/-a 16.12.2013

Prvy sposob je mat nejaky spolocny biznis logic kod, ktory budem sharovat napriec platformami a rozdielny je len UI kod. Ak poznas C#, tak cez Portable libraries a v spojeni s Mono, MonoDroid, MonoTouch viez dosiahnut celkom dobru prenositelnost.

Druhy sposob je mat rovnaky aj UI kod a tu ti nezostava nic ine ako ist do html+js, kde vlastne tvoja app bude web browser natiahnuty do celeho okna a nejaky framework ti ponukne nejake spolocne API. Tu je celkom znamy PhoneGap. Musis ale ratat s tym, ze top vykonnost z takehoto riesenia nedostanes, na druhu stranu vo vacsine pripadov je to "good enough".

Komentáře

  • v6ak : K tomu druhému způsobu: Pokud je to aplikace, kterou mám mít delší dobu na popředí, tak OK. Pokud na ni mám ale přepnout (hmm... pomalý start) a pak z ní jít pryč (nelépe mi aplikace sežere dost RAM, takže mi zabije aplikace na pozadí), je to k naštvání. Pokud bych měl používat třeba slovník, který používám současně s prohlížečem, a při každém namrknutí by mi killnul prohlížeč... 22.12.2013
  • v6ak : A k hubdě: Mám pocit, že toto z části udělali ve Spotify. Spustil jsem si Spotify, spustil jsem si trackování běhu a za chvilku bylo Spotify zastaveno OOM killerem. 22.12.2013

Pro zobrazení všech 5 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.