Natív alkalmazás vagy platformfüggetlen web?

Címkék

Erre is igyekszünk választ adni a legnagyobb hazai mobiltermék-fejlesztői konferencián, az App!mobile-on. Kiemelt előadónk, Tom Loosemore-nak, a brit digitális kormányzati szolgáltatások vezetőjének előadása is ezt a témát járja majd körül. További részletek, program és regisztráció »

Hozzászólások

Én régebben a natív alkalmazás híve voltam (bár itt is inkább keresztplatformos alkalmazások, mint például Qt-val), de mostanra inkább a platformfüggetlen web felé kacsingatok.
---------------------------
Oszt jónapot!

Félig meddig vicces hozzászólásnak szántam Hevi kinyilatkoztatására.

Természetesen, ahol teljesítmény kritikus alkalmazások kellenek (pl. sok játék, azért nem mind), ott natív alkalmazás kell. Habár azt tartom, hogy azokat az alkalmazásokat leginkább egy felhasználó használja egyszerre, bár ennek ellenkezőjére is vannak példák.
Az offline állapotot manapság már elég jól kezelik a HTML5-ben megjelent szolgáltatások, bár még ott is vannak szűk keretek.

1-nél többen? Mi az indoklás? Egy vékony kliens, ami például Qt-ban íródik és linuxon, windowson egyaránt használható, miben tud kevesebbet, mint a webes? Webes megoldásnál a sok fajta böngésző nagyon meg tudja nehezíteni a dolgodat. Nem beszélve a komplikált session kezelésről(böngésző és a saját vissza gomb közti különbség például), JS lassúságáról, körülményesen megírható dinamikusan szerkeszthető beviteli táblák, etc..

Mi az indoklás?

Nem kell telepíteni, frissíteni kliensenként, központilag (egy helyen) lehet karbantartani. Ezek miatt könnyebb "vállalati" (sok felhasználós) környezetben bevezetni és karbantartani.

"Egy vékony kliens, ami például Qt-ban íródik és linuxon, windowson egyaránt használható, miben tud kevesebbet, mint a webes?"

Ha a Qt-ben íródott tényleg vékony kliens, akkor majdnem ugyanott vagyunk mint a böngészős vékony kliensnél. Azon a Qt-s vékony kliensen nagyon sok munka van, ha jól akarod megcsinálni és az a hátránya még mindig meg lesz, hogy azokat külön kell telepíteni és karbantartani.

A maradék részre meg remek keretrendszerek vannak, amik használatával nincs komplikált session kezelés, böngésző függés, ...

JS-ben nem kell mindent megírni, sőt, a program legtöbb funkciója a szerveren fut, ami további előnyt is biztosít, a kliens gép lehet egy nagyon egyszerű gép, gyenge proci, kevés memória (pl. akár telefon).

Mind a natívnak, mind a webesnek meg van létjogosultsága, szerintem csoportmunkánál általában nincs a vékonykliensnél jobb. Természetesen az arányokat én nem tudom, szemben Hevivel ;)

"Nem kell telepíteni, frissíteni kliensenként, központilag (egy helyen) lehet karbantartani. Ezek miatt könnyebb "vállalati" (sok felhasználós) környezetben bevezetni és karbantartani."
- Attól függ melyik platformról és böngészőről beszélünk ellenben igen alaptelepítésben szokott szerepelni valamilyen böngésző. Ellenben javarészt vállalati környezetben van egy image amit a friss gépekre raknak fel és így abban az szerepel, amit akarsz.

"Ha a Qt-ben íródott tényleg vékony kliens, akkor majdnem ugyanott vagyunk mint a böngészős vékony kliensnél. Azon a Qt-s vékony kliensen nagyon sok munka van, ha jól akarod megcsinálni és az a hátránya még mindig meg lesz, hogy azokat külön kell telepíteni és karbantartani."
- Vékony kliens pont attól vékony, hogy szinte minden a szerver oldalon dől el.

"A maradék részre meg remek keretrendszerek vannak, amik használatával nincs komplikált session kezelés, böngésző függés, ..."
- Mint mindenre van keretrendszer. :)

"JS-ben nem kell mindent megírni, sőt, a program legtöbb funkciója a szerveren fut, ami további előnyt is biztosít, a kliens gép lehet egy nagyon egyszerű gép, gyenge proci, kevés memória (pl. akár telefon)."
- A böngésző felfogható egy fajta vékony kliensnek, ha úgy tetszik. Mert ezt a vékony kliensre is elmondható. :)

"Mind a natívnak, mind a webesnek meg van létjogosultsága, szerintem csoportmunkánál általában nincs a vékonykliensnél jobb. Természetesen az arányokat én nem tudom, szemben Hevivel ;)"
- Nekem volt mindkettőt fejleszteni szerencsém. Szerintem minél bonyolultabb annál előnyösebb a natív vékony kliens.

Minden ponthoz hozzászóltál, de szerintem egyik sem cáfolata annak, amit írtam, így azokra külön nem térek ki.

Amit nem írtam és fontos az a biztonság kérdése.
Vékony-vastag kliensnél szerintem egyet értünk, hogy a vékony kliens biztonságosabb.
Így csak a natív vékony kliens kérdése az érdekes.
Én azok emberek táborát erősítem, akik biztonságosabbnak vélik, ha nem egy natív programot kell telepíteniük a gépükre, hanem csak egy böngészőben egy adott oldalt "böngésznek", ez annál inkább igaz, minél inkább nem ismerem az adott "program" gyártóját.

> Amit 1-nél többen használnak (appok 99%-a) - webes.

Ezt nem értem. A Google Play tele van nem webes appokkal, pl. GMail, Google Maps, Google Hangout, QuickOffice, pedig a készítőjének "esetleg" van ezeknek megfelelő webes alkalmazása is. Akkor ezeknek az appoknak készítői és használói butuskák?

Platformfüggő natív alkalmazás, vagy böngészőfüggő webalkalmazás? Ez itt a kérdés, kérem szépen...

vajon van érdemi különbség egy Firefox Windows alatt és Firefox Linux alatt, amire egy webalkalmazásnál figyelni kell?

Azaz más platform _de_ ugyan az a "vékonykliens"?

Minden esetre azzal a hozzászólóval értek egyet, aki azt írta, hogy ott ahol több szálak kezelésére van szükség ott javasolt natív alkalmazás.

Azt is hozzáteszem, hogy egy profi webalkalmazás készítő vs középszerű natív alkalmazás programozó terméke kb azonos sebességgel bírhat (vagy épp jobb a webapp javára)...

A "platformfüggetlen web" (fetrengek a röhögéstől, ez valami parádés! :D), sosem fog tudni felnőni a natív alkalmazások szintjére.

és ki mit gondol a natív-szerű-webes megoldásokról, phonegap és társai?

Tudsz mondani részleteket, hogy miért nem alkalmas rá?

Üzleti naptár, admin felületek, általánosan azok, amik most is működnek webes felületen?

Csak mert jelenleg a google is azt nyomja, hogy ha nem játék (vagy egyéb 3D), nem multimédia (kamera app), nincs speciális hardware igényed, akkor cordova.

Webes felületen majd mindenféle program megírható manapság és egyre bővül a kör (pl. ügyviteli, vállalatirányítási, csoportmunka, tartalom kezelő alkalmazások, ...)

Ma már a a 3D sem kivétel, bár ez még gyerekcipő (webgl, vagy streamelve), egyedül a helyi géphez kötődő hardver eszközökkel lehet probléma vagy kellhet hozzá kiegészítő.

Összegyűjtöttem pár oldalt, amit érdemesnek tartok ebben a témakörben elolvasni, ha valakit érdekel.
mobiledevices.about.com
mobithinking.com
venturebeat.com
www.nngroup.com

Ezekben általában mobil alkalmazásokról van szó, de legtöbb megállapítás igaz desktop alkalmazásokra is. Ezekben szépen leírják, hogy szerintük miben jó az egyik, miben a másik.
Nem biztos, hogy mindenkinek a véleményével egyezik, ugye az itteni hozzászólásokból is látszik, hogy sokan végletekben gondolkodnak.

A lényeg, hogy az összes összehasonlításnál a natív alkalmazások fejlesztési költségét jelentősebbnek gondolják.