Aplicații web; comparat cu; aplicații native; oreillyblog

IT, Social Media & Geek Life de și cu cărțile O'Reilly

În cartea noastră „Dezvoltarea aplicațiilor iPhone cu HTML, CSS și JavaScript”, autorul Jonathan Stark definește ce se înțelege prin „aplicație web” în comparație cu o „aplicație nativă”. Descrie principalele avantaje și dezavantaje ale fiecărei abordări și modul în care puteți utiliza cele trei tehnologii web standard pentru a obține cele mai bune din ambele lumi.

oreillyblog

Ce este o aplicație web?
Pentru mine, o aplicație web este în esență un site web optimizat special pentru iPhone. Acest site web poate fi orice, de la o broșură standard pentru întreprinderi mici, până la un calculator de interese până la un contor zilnic de calorii - conținutul nu contează. Caracteristicile decisive ale unei aplicații web sunt că interfața cu utilizatorul a fost creată utilizând tehnologii web standard, că poate fi accesată printr-o adresă URL (publică, privată sau ascunsă în spatele unui log-in) și că a fost special optimizată pentru specificul iPhone. O aplicație web nu este instalată pe iPhone, nu este disponibilă în App Store și nu este în
Obiectiv scris-C.

Ce este o aplicație nativă?
În schimb, aplicațiile native sunt instalate pe iPhone, au acces la hardware (difuzoare, accelerometre, cameră, etc.) și sunt programate în Objective-C. Cu toate acestea, caracteristica distinctivă este că
este disponibil pe iTunes App Store - o caracteristică care a prins imaginația hoardelor de antreprenori de software, inclusiv eu.

Avantaje și dezavantaje
Aplicații diferite au nevoi diferite. Unele aplicații sunt mai potrivite pentru tehnologiile web decât altele. Cunoașterea avantajelor și dezavantajelor diferitelor abordări vă va face mai ușor să alegeți calea potrivită pentru situația dvs.

Acestea sunt avantajele dezvoltării de aplicații native:
- Milioane de deținători de carduri de credit înregistrați sunt la doar un clic distanță.
- Xcode, Interface Builder și Cocoa Touch Framework formează împreună un mediu de dezvoltare elegant.
- Puteți profita de toate caracteristicile hardware interesante ale dispozitivului.

Iată care sunt dezavantajele dezvoltării aplicațiilor native:
- Trebuie să plătiți pentru a deveni dezvoltator Apple.
- Trebuie să vă supuneți grației procesului de verificare Apple.
- Trebuie să programați în Objective-C.
- Trebuie să vă dezvoltați pe un Mac.
- Nu puteți publica rapid remedierile de erori.
- Ciclul de dezvoltare este lent, iar ciclul de testare este limitat de App Store.

Acestea sunt avantajele dezvoltării aplicațiilor web:
- Dezvoltatorii web își pot folosi programele de dezvoltatori anterioare.
- Puteți utiliza abilitățile dvs. actuale de proiectare și programare web.
- Nu trebuie să vă bazați pe Mac OS pentru dezvoltare.
- Aplicația dvs. rulează pe orice dispozitiv cu un browser web.
- Puteți remedia erorile imediat.
- Ciclul de dezvoltare este rapid.

Acestea sunt dezavantajele dezvoltării aplicațiilor web:
- Nu puteți utiliza caracteristicile hardware cool ale iPhone-ului.
- Trebuie să configurați singur un sistem de facturare dacă doriți să câștigați bani cu aplicația.
-Poate fi dificil să creezi efecte sofisticate de interfață cu utilizatorul

Ce abordare este potrivită pentru tine?
De aici înainte devine interesant. Fiind online tot timpul, iPhone creează un mediu în care liniile dintre aplicațiile web și aplicațiile native sunt neclare. Există câteva caracteristici mai puțin cunoscute în iPhone, care vă permit să utilizați și aplicații web offline. În plus, unii furnizori terți dezvoltă software - dintre care cel mai notabil este PhoneGap - care permite dezvoltatorilor web să preia o aplicație web și să o împacheteze ca aplicație nativă pentru iPhone și alte platforme mobile.
Pentru mine, acesta este mixul perfect. Pot să scriu în „limba maternă” și să public produsul ca o aplicație web pură (pentru iPhone și alte dispozitive care au un browser mobil) fără a trece prin procesul de verificare Apple
a chinui. De asemenea, pot folosi același cod sursă ca bază pentru a crea o versiune nativă îmbunătățită, care apoi folosește capacitățile hardware ale dispozitivului și poate fi vândută și în App Store. Ce se întâmplă dacă Apple respinge aplicația? Nu este o problemă, deoarece încă mai am versiunea mea online. Pot continua să lucrez la versiunea nativă în timp ce clienții folosesc aplicația web.