Ang PhoneGap ay isang komersyal na distribusyon ng Apache Cordova mula sa Adobe na nagbibigay-daan sa paggawa ng mga mobile app sa HTML, CSS at JavaScript na may kakayahang mag-compile sa cloud nang walang lokal na SDK. Ang platform ay naging unang malawak na kilalang hybrid framework at gumanap ng mahalagang papel sa pagpapasikat ng cross-platform development. Ayon sa Adobe PhoneGap, 2024, sa panahon ng pag-iral ng platform ay nilikha ang mahigit 1 milyong app. PhoneGap Build — pangunahing serbisyo ng Adobe na nagsasagawa ng compilation sa APK at IPA nang walang pag-install ng Xcode o Android Studio.
Mga Pangunahing Punto
PhoneGap — ay isang platform para sa mobile app development, na orihinal na ginawa ng kumpanyang Nitobi Software noong 2009. Noong 2011, binili ng Adobe ang Nitobi at inilabas ang PhoneGap bilang isang komersyal na produkto, na ibinigay ang core ng framework sa Apache Software Foundation sa ilalim ng pangalang Cordova.
Ang PhoneGap ay nilikha sa kumperensya ng iPhoneDevCamp noong 2008, kung saan ipinakita ng mga developer ng Nitobi Software ang teknolohiya ng pagbabalot ng mga web app sa isang native na container. Ang unang pampublikong bersyon ay lumabas noong 2009 at agad na nakakuha ng atensyon ng komunidad ng mga web developer na naghahanap ng mga paraan upang makapasok sa mobile market nang hindi nag-aaral ng Objective-C.
Ang pangunahing inobasyon ng PhoneGap ay ang mga developer ay maaaring gumamit ng pamilyar na web technologies — HTML, CSS at JavaScript — upang gumawa ng mga app na naka-install sa device sa pamamagitan ng app store at may access sa native na mga function: camera, GPS, contacts at accelerometer.
Ayon sa Adobe Developer Relations (2015), sa peak period, mahigit 600 libong developer sa buong mundo ang gumagamit ng PhoneGap. Ang platform ay lalong popular sa mga web studio at freelancer na gustong palawakin ang kanilang portfolio ng mga mobile project nang hindi kumukuha ng iOS at Android engineers.
Ang pangunahing pagkakaiba sa pagitan ng PhoneGap at Apache Cordova ay nasa modelo ng distribusyon at karagdagang serbisyo. Ang Cordova ay isang purong open-source framework na pinamamahalaan ng Apache Foundation, habang ang PhoneGap ay ang komersyal na distribusyon nito na may eksklusibong kakayahan ng Adobe.
| Katangian | Apache Cordova | PhoneGap (Adobe) |
|---|---|---|
| Lisensya | Apache 2.0 (bukas) | Apache 2.0 + proprietary na bahagi |
| Core | Orihinal na code | Parehong Cordova code |
| Cloud compilation | Wala | PhoneGap Build |
| Mga tool | CLI + third-party IDE | Adobe PhoneGap Desktop + CLI |
| Suporta | Komunidad ng Apache | Adobe (hanggang 2020) |
Ang pangunahing bentahe at pinakamahalagang komersyal na pagkakaiba ng PhoneGap kumpara sa Apache Cordova — ay ang serbisyong PhoneGap Build, na pumapalit sa yugto ng compilation. Ina-upload ng developer ang source files sa Adobe server, pinipili ang target na platform at nakakakuha ng ready binary files nang walang pag-install ng Android SDK, Xcode at mga kaugnay na compilation tools.
Bukod dito, ang PhoneGap ay may kasamang integrasyon sa Adobe Creative Cloud, na nagpapahintulot sa mga designer na mag-export ng mga layout mula sa Photoshop nang direkta sa istraktura ng PhoneGap project. Ang function na ito ay hinihingi sa maliliit na team na walang dedicated mobile developer.
PhoneGap Build — ay isang web service ng Adobe na nagco-compile ng source code ng PhoneGap/Cordova app sa mga installation file para sa iOS (.ipa), Android (.apk), Windows Phone (.xap) at iba pang platform. Hindi kailangan ng user na mag-install ng SDK ng target operating system sa kanilang computer.
Ang proseso ng compilation ay binubuo ng tatlong hakbang: ina-archive ng developer ang project (o nagtuturo ng Git repository), ina-upload ito sa build.phonegap.com at pinipili ang mga platform. Pagkalipas ng ilang minuto, ibinabalik ng server ang ready binary files para i-upload sa app store.
Ang PhoneGap Build ay sumuporta sa dalawang uri ng subscription: libre (hanggang 2 app, pampublikong compilation) at bayad (hanggang 25 app, pribadong compilation, custom na icon at certificate). Para sa iOS, kinakailangan ang upload certificate ng Apple Developer Program, na ina-upload ng user sa personal na account. Ang mekanismo ng Build ay simple: nagpadala ang user ng ZIP archive o nagturo ng Git repository, awtomatikong tinukoy ng server ang mga platform at ibinalik ang ready binary files sa pamamagitan ng control panel.
Ayon sa Adobe Blog (2017), mahigit 500 libong compilation bawat buwan ang dumaan sa PhoneGap Build. Ang serbisyo ay lalong popular sa mga institusyong pang-edukasyon at hackathon kung saan ang mga kalahok ay walang access sa Mac infrastructure. Ginamit din ng mga developer ang Build para mag-demo ng prototypes sa mga kliyente nang direkta sa mga device nang walang configuration ng environment.
Ang istraktura ng PhoneGap project ay kapareho ng Cordova. Ang pagkakaiba ay nasa configuration file na config.xml lamang, kung saan idinaragdag ang elementong <gap> na may specification ng bersyon ng PhoneGap at identifier ng Adobe app.
<?xml version='1.0' encoding='utf-8'?>
<widget id='com.adobe.phonegap.app'
version='1.0.0'
xmlns='http://www.w3.org/ns/widgets'
xmlns:gap='http://phonegap.com/ns/1.0'>
<name>PhoneGapApp</name>
<description>
PhoneGap app
</description>
<gap:platform name='ios' />
<gap:platform name='android' />
<gap:plugin name='cordova-plugin-camera' />
<gap:config platform='ios' min-version='13.0' />
</widget>
Ang configuration file na ito ay tumutukoy sa app na may suporta para sa iOS at Android, tinutukoy ang minimum na bersyon ng iOS 13 at ikinokonekta ang camera plugin. Kapag na-upload sa PhoneGap Build, awtomatikong kinikilala ng server ang mga setting na ito at nagco-compile ng project na may kinakailangang dependencies.
Halimbawa ng basic JavaScript code na may paghawak ng device ready event at pagtawag ng native dialog:
document.addEventListener('deviceready', function() {
console.log('PhoneGap handa nang gamitin');
document.getElementById('btnAlert')
.addEventListener('click', function() {
navigator.notification.alert(
'Kamusta mula sa PhoneGap!',
function() { console.log('OK'); },
'Mensahe',
'Isara'
);
});
});
Ang event na deviceready — mandatoryong entry point sa lahat ng PhoneGap at Cordova app. Kung wala ang event na ito, hindi gagana ang pagtawag ng native API dahil hindi pa na-initialize ang tulay. Pagkatapos ng ready, available na ang lahat ng plugin, kasama ang notification.alert para sa native dialog windows.
Ang PhoneGap ay may ilang mga kalamangan na nagpasikat dito noong kalagitnaan ng 2010s, ngunit mayroon din itong mga limitasyon na humantong sa pagbaba ng market share nito pagkatapos ng 2018.
Ang pangunahing bentahe ng PhoneGap — mababang entry barrier para sa mga web developer. Ang HTML, CSS at JavaScript ay mga teknolohiyang alam ng bawat frontend specialist, na nagpapahintulot sa mga web studio na mabilis na pumasok sa mobile app market nang hindi kumukuha ng iOS at Android engineers.
Ang cloud service na PhoneGap Build ay nalutas ang problema sa imprastraktura: ang mga team sa Windows ay maaaring mag-compile ng iOS app nang hindi bumibili ng Mac. Ito ay kritikal para sa mga startup na may limitadong budget para sa equipment.
Ang pangunahing kahinaan ng PhoneGap — performance. Ang WebView ay mas mabagal kaysa native UI frameworks, lalo na sa mga kumplikadong animation, malalaking listahan at pagproseso ng graphics. Ayon sa HTML5Rocks tests (2016), ang pag-render ng listahan ng 1000 elemento ay tumagal ng 200–400 ms sa PhoneGap kumpara sa 16–30 ms sa native app.
Kasama sa karagdagang limitasyon ang dependency sa bersyon ng WebView sa device ng user, mga problema sa debugging ng native plugin at kakulangan ng access sa bagong iOS at Android API hanggang sa paglabas ng kaukulang Cordova plugins.
Noong 2020, inanunsyo ng Adobe ang pagtigil ng suporta para sa PhoneGap at PhoneGap Build. Inilipat ng kumpanya ang mga development sa komunidad na may rekomendasyon na lumipat sa Apache Cordova o Capacitor. PhoneGap Build ay isinara at ang cloud compilation ay hindi na available.
Para sa mga umiiral na PhoneGap project, ang migrasyon sa Capacitor ay inirerekomenda — ito ang pinakadirektang landas na may minimal na pagbabago sa code. Sapat na palitan ang initialization scripts at i-update ang configuration. Lahat ng JavaScript code at HTML templates ay nananatiling hindi nagbabago dahil ang Capacitor ay gumagamit ng parehong prinsipyo ng tulay.
Alternatibong opsyon — direktang paglipat sa Apache Cordova. Ito ay nangangailangan ng lokal na pag-install ng mga platform sa pamamagitan ng CLI at configuration ng lokal na compilation, ngunit ganap na pinapanatili ang compatibility sa mga umiiral na plugin at arkitektura ng app.
Sa kabila ng pagsasara, ang makasaysayang kahalagahan ng PhoneGap ay mahirap palakihin. Ang PhoneGap ang nagpakita sa merkado na ang web technologies ay maaaring maging batayan para sa mobile apps, na nagbigay daan para sa modernong hybrid at cross-platform frameworks. Ang konsepto ng cloud compilation, na unang ipinatupad sa PhoneGap Build, ay kalaunan ay pinagtibay ng Ionic Appflow, Visual Studio App Center at iba pang continuous integration services para sa mobile projects.
Ang mga desisyon sa arkitektura ng PhoneGap — ang tulay sa pamamagitan ng WebView, plugin system at configuration sa pamamagitan ng config.xml — ay naging de facto standard para sa hybrid development. Kahit sa modernong Capacitor projects, makikita ang legacy ng PhoneGap: parehong prinsipyo ng pagtatrabaho sa plugins at katulad na proseso ng compilation.
Para sa mga developer na nagpapanatili ng lumang PhoneGap projects, ang pangunahing kasanayan ay ang pag-unawa sa plugin bridge at kakayahang i-adapt ang plugins sa modernong bersyon ng Android at iOS. Kung wala ito, ang pag-update ng app para sa mga bagong kinakailangan ng store ay nagiging imposible dahil sa lipas na system permissions.
Mga Madalas Itanong
Ang PhoneGap ay hindi na opisyal na sinusuportahan ng Adobe mula noong 2020, ngunit ang mga app na ginawa batay dito ay patuloy na gumagana. Ang compilation ng mga bagong project sa pamamagitan ng PhoneGap Build ay hindi available. Inirerekomenda ang migrasyon sa Capacitor o Apache Cordova para sa mga update sa seguridad.
Ang Ionic — ay isang layer sa ibabaw ng Cordova (at kalaunan Capacitor) na nagdaragdag ng UI components, routing at compilation tools. Ang PhoneGap ay distribusyon ng Cordova na may cloud compilation, ngunit walang sariling UI components. Ginagamit ng Ionic ang Cordova o Capacitor bilang backend para sa native access.
Salamat sa PhoneGap Build, hindi kailangan ang Mac — ang iOS compilation ay ginagawa sa Adobe servers. Pagkatapos isara ang Build, para sa iOS compilation ay kakailanganin ang Mac na may Xcode, dahil ang Apache Cordova at Capacitor ay nagco-compile ng native projects nang lokal sa pamamagitan ng Apple tools.
Ang PhoneGap ay compatible sa lahat ng Apache Cordova plugins dahil gumagamit ito ng magkaparehong arkitektura. Ang plugins na cordova-plugin-camera, cordova-plugin-geolocation, cordova-plugin-file at cordova-plugin-inappbrowser ay gumagana nang walang pagbabago. Walang mga plugin na eksklusibo sa PhoneGap.
Ang pag-aaral ng PhoneGap bilang bagong tool ay walang saysay — hindi ito sinusuportahan. Gayunpaman, ang pag-unawa sa arkitektura nito ay kapaki-pakinabang para sa pagpapanatili ng legacy projects. Para sa mga bagong hybrid apps, inirerekomenda ang pag-aaral ng Capacitor kasama ng Ionic o React Native.
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.
Basahin din