Runājot par mobilo ierīču programmēšanu, izvēle ātri kļūst par dilemmu. Vai jūs mērķējat uz ienesīgo iPhone tirgu uz Android pieaugošās plūdmaiņas rēķina? Vai jūs izmantojat vietējo valodu vai rakstāt kodu mobilajam tīmeklim? Un, lai gan sapnis būtu viena koda kaudze, kas optimāli darbojas arvien plašākā platformu, formas faktoru un ierīču klāstā, realitāte ir sadrumstalots izmēģinājums, kurā elementāri uzdevumi bieži var būt izaicinājums.
Bet ar izaicinājumiem un iespējām rodas ziņkārīgi prāti. Izstrādātāju skaits, kas pievērš uzmanību mobilo rīku un bibliotēku izveidei, ātri izveido dinamisku ekosistēmu, lai palīdzētu mobilajiem izstrādātājiem - it īpaši tiem, kas izvēlējušies atlasīt mobilo tīmekli.
[Arī vietnē .com: atklājiet 4 veidus, kā izveidot viedtālruņu tīmekļa lietotnes, neapmeklējot Apple App Store. | Sekojiet līdzi svarīgākajām lietojumprogrammu izstrādes ieskatiem, izmantojot emuāru Fatal Exception un Developer World biļetenu. | Esiet informēts par mobilajām ziņām un ieskatiem, izmantojot Mobile Edge emuāru un Mobilize biļetenu. ]
Kādu laiku šis komplekts bija ierobežots. Bet HTML5 solījums ir atvēris daudzu izstrādātāju acis uz neskaitāmām mobilā tīmekļa priekšrocībām salīdzinājumā ar mēģinājumiem ierīcē instalēt vietējo programmatūru.
Pirmkārt, vietnes ir atvērtas. Kad produkts tiek palaists vai atjaunināts, nav nepieciešams spēlēt "māte drīkst" ar App Store apstiprināšanas komandu.
Otrkārt, izstrādātāji var gūt 100 procentus no saviem mobilo lietotņu ieņēmumiem. Protams, jums ir jāatrod veids, kā pašam iekasēt naudu, kas ne vienmēr ir vienkārši. Bet 30 procentu samazinājums, ko Apple ņem no lietotņu pirkumiem, ir liels tarifs par to, kas lielākoties ir rinda datu bāzē, un liela birokrātija.
Treškārt, HTML5 kļūst arvien robustāks un bagātāks ar funkcijām. Jaunākā versija ļauj saglabāt klienta datus un veikt lielāko daļu darbību, ko vietējā lietotne var paveikt. Citiem vārdiem sakot, pārlūkprogrammas smilškastē ir gandrīz visas tās pašas funkcijas kā vietējā koda smilškastē. Jā, vietējā koda lietotnes tiek turētas operētājsistēmas noslēgtajā stūrī.
Ceturtkārt, HTML5 lietotnes nav saistītas ar ierīci. Kaut arī liela daļa satraukuma turpina riņķot ap Apple iPhone, HTML5 lietotnes ir salīdzinoši viegli pārvietot uz citām platformām. Tas nav tik vienkārši kā pogas nospiešana, bet tas ir daudz vieglāk nekā tulkot savu lietotni no C mērķa uz Java.
Protams, ir ierobežojumi. Tīmekļa lietotnes var kļūt par savienojamības problēmu upuri. Tie bieži ir nedaudz lēnāki, un daudzi vietējo lietotņu izstrādātāji mīl norādīt uz milisekunžu aizkavēšanos, kas var būt vai nav pamanāma. Spēļu izstrādātāji vēlēsies divreiz padomāt par paļaušanos uz slaidu, ļoti atsaucīgu kodu JavaScript.
Lielākais ierobežojums var būt pašā attīstībā. Lai gan Apple rīki ir diezgan labi, lai ielūkotos vietējās lietotnēs, ir grūtāk dziļi iedziļināties koda struktūrā, kas darbojas jūsu mobilajā pārlūkprogrammā. Visa šī interese par mobilo attīstību un mobilo tīmekli ir radījusi vairākas bibliotēkas un rīkus, lai atvieglotu lietojumprogrammu veidošanu ar tām. Šeit ir saraksts ar uzkrītošajiem projektiem, kas var padarīt mobilā tīmekļa izveidi ērtāku.
Mobilā tīmekļa programmēšanas rīks: ChocolateChip-UI
Lejupielādējiet ChocolateChip-UI
Mobilo ierīču mazā ekrāna nekustamais īpašums nodrošina efektīvu saskarnes dizainu. Ievadiet tīmekļa izstrādātāju Robertu Bigsu Ziemeļkalifornijā, kurš izveidoja ChocolateChip-UI - ietvaru, lai izveidotu vērtīgu mobilo saskarni HTML formātā.
Tehniski attīstītāja izveidotais pamatā esošais kods ir WAML (Web Application Markup Language) - iezīmēšanas valoda, kas veidota virs HTML5. Lielāko daļu vieglā darba veic ar WAML tagiem, piemēram, vai
. Sistēmas JavaScript darbojas caur WAML un pārvērš to viedtālrunim par tīru HMTL5.
Šī kombinācija ir tikpat viegla kā spalva. Jūs varat sajaukt savu HTML, CSS un JavaScript WAML, un tas lieliski pārvietojas pa ChocolateChip-UI tulkošanas procesu.
Kaut arī šī pieeja nav ideāla, es varu saprast, kāpēc Biggs izvēlējās šo maršrutu. Iepriekš esmu apmaldījies daudzu mobilo izstrādes rīku JavaScript slēgšanā, un tas nav glīti.
ChocolateChip-UI WAML logrīku kolekcija ir diezgan visaptveroša, kas visi izskatās kā standarta iPhone lietotāja interfeisi. Tajā ir iekļautas pat tādas ekstras kā dzēšanas saraksti, lai lietotāji varētu ar dažiem pirksta kustībām izslēgt elementus no saraksta.
Mobilā tīmekļa programmēšanas rīks: Mobl
Lejupielādēt Mobl
JavaScript ir daudz neapstrādātu šķautņu, kas turpina nomākt tīmekļa izstrādātājus. Mobl komanda nolēma izlīdzināt šīs malas, vienlaikus izveidojot sistēmu mobilo lietojumprogrammu izveidei, kas darbojas WebKit pārlūkprogrammās. Tā vietā, lai rakstītu instrukcijas HTML, JavaScript un CSS, jūs tos rakstāt Mobl, un Mobl kompilators tos pārvērš HTML, JavaScript un CSS mobilajai pārlūkprogrammai.
Šī pieeja ļāva Mobl komandai novērst dažus sarežģītākus JavaScript jautājumus, piemēram, kā funkcijas tiek nodotas citām funkcijām, lai izpilde būtu aizkavēta. Sekošana visām ligzdotajām iekavām, kas nepieciešamas, lai to izdarītu JavaScript, var ātri kļūt prātā nejūtīgs, palielinot kļūdu iespējamību.
Mobls atbrīvojas no šīs sarežģītības, izmantojot deklaratīvāku sintaksi. Ja vēlaties pārtraukt 1000 milisekundes, jūs rakstāt:
gulēt (1000); doNext ();
Mobls to apkopo JavaScript ar a setTimeout
funkcija un a atzvani
funkcija, kas tiks izpildīta doNext ()
. Jums kā izstrādātājam nav jādomā par atzvani
sintakse vai kā visu ietīt vēl vienā funkcijā. Viss, kas jums jādara, ir jāuzraksta saraksts ar lietām, kuras vēlaties redzēt.
Ir vairāki desmiti veidu, kā Mobl komanda palīdz jums rakstīt šīs instrukcijas, nepievēršot uzmanību visiem JavaScript pieturzīmēm. Gala rezultāts ir jauka mobilo lietotņu standarta idiomu kolekcija. Vai vēlaties ritināšanas sarakstu? Vienkārši iesaiņojiet vienumu sarakstu ar grupas atslēgvārdu.
Izstrādātājiem, kuriem šī pieeja nepatiks, jau būs ērti izmantot Objective-C vai JavaScript. Galu galā, kāpēc mācīties vēl kādu valodu ar nedaudz atšķirīgu sintaksi, kad šī nedaudz atšķirīgā sintakse atkal tiks pārveidota par kaut ko tādu, ko viņi jau saprot? Tad atkal valodas cienītāji varētu atrast vairākas labas, jaunas idejas, lai tas būtu ceļojuma vērts.
Mobilā tīmekļa programmēšanas rīks: jQuery Mobile
Lejupielādējiet jQuery Mobile
Kad jQuery ietvara ļaudis nolēma risināt mobilās platformas un izveidot vienkāršu viedtālruņu lietotāja saskarnes komplektu, bija skaidrs, ka tas piesaistīs plašu uzmanību un eksperimentus. Rezultāts ir projekts, kuru labi atbalsta daudzi no galvenajiem aparatūras ražotājiem un kas noteikti būs salīdzinoši veiksmīgs mobilajās ierīcēs.
JQuery Mobile vienkāršākā daļa ir tā HTML centrētais izkārtojums. Lapas tiek veidotas DIV un citos standarta HTML komponentos, piemēram, tagus. Rezultātā jQuery Mobile ir viegli integrēt ar dinamiskām vietnēm un CMS, jo tās izmantošana bieži vien ir tikai jaunas tēmas vai ādas pievienošana. Piemēram, jQuery Mobile ir izveidotas vairākas Drupal tēmas un moduļi.
Cieša integrācija ar jQuery nozīmē, ka daudzi, bet ne visi darbvirsmas spraudņi, darbosies arī ar vietnēm mobilajām ierīcēm. Ir arī daži mobilie spraudņi, kas izveidoti, lai paplašinātu mobilo ietvaru. Viegls rāmja pieskāriens un auglīgā ekosistēma, kas veidota ap jQuery Mobile, nozīmē, ka mēs, iespējams, redzēsim, ka tā jauda tikai pieaug.
Mobilā tīmekļa programmēšanas rīks: The-M-Project
Lejupielādējiet The-M-Project
Ja jQuery Mobile metožu un stilu kolekcija nav pietiekami sarežģīta, The-M-Project piedāvā logrīku kolekciju, kas ir apkopota jQuery Mobile objektos. Tas apstrādā daudzas sīkās un smalkās dizaina detaļas, piemēram, ikonas ievietošana tieši īstajā vietā, lai jūs tā vietā varētu koncentrēties uz lielāku attēlu.
Kods ir strukturēts ar modeli View-Controller. Liela daļa darba ir lielas JSON struktūras veidošana, kas nosaka dažādas lapas un logrīkus, kas atrodas šajās lapās. Izkārtojumu apstrādā The-M-Project.
Lietotnes uzvedība tiek definēta, katrai lapai izveidojot funkcijas, kas pievienotas dažādiem notikumu āķiem. The-M-Project rūpējas par pasākumu sasniegšanu to atrašanās vietā.
Nekas nav vērts, ka izveides un izvietošanas process ir integrēts ar Node.js. Jūsu lieliskās radīšanas kods darbojas arī Node.js; testēšana tiek veikta, izmantojot to pašu serveri. Kad tas darbojas, koda un bibliotēkas sajaukumu varat pārnest uz jebkuru tīmekļa serveri vai arī integrēt to tālāk ar Node.js.
Mobilā tīmekļa programmēšanas rīks: Touchqode
Lejupielādēt Touchqode
Jūs sēžat kafejnīcā Parīzē, Everesta kalna galā vai jebkur citur bez klēpjdatora vai darbvirsmas. Ideja tevi piemeklē. Vai jūs to nokrāsojat uz papīra lūžņiem un vēlāk atgriežaties pie tā? Ne, ja jūsu Android tālrunī darbojas Touchqode. (Drīzumā būs pieejama iPhone versija.)
Šī niecīgā izstrādes vide nelielā ekrānā satur pārsteidzoši daudz funkciju. Kods ir izcelts, skripti var darboties lokāli, un jūs varat sinhronizēt jauno kodu, izmantojot FTP. Ja priekšnieks zvana, kad esat ceļā, jums vajadzētu būt nelielām grūtībām labot kaut ko, kam nepieciešami tikai daži taustiņsitieni. Es nevaru iedomāties rakstīt garas programmas ar savu Android tālruni, taču, ņemot vērā to, ka autori savos mobilajos tālruņos ir izveidojuši veselus romānus, var būt pārāk agri pieņemt, ka lietotāji izmantos tikai Touchqode, lai izveidotu dažas neregulāra koda rindas.
Katrā ziņā Touchqode ir labs šķipsniņā.
Mobilā tīmekļa programmēšanas rīks: LimeJS
Lejupielādēt LimeJS
Viens no iemesliem, kāpēc Flash spēles ir tik saistošas, ir bibliotēku rakstnieku auglīgā ekosistēma, kas var pārdot savus darbus Flash izstrādātājiem. DigitalFruit izveidoja LimeJS, lai piedāvātu līdzīgu atbalstu izstrādātājiem, kuri vēlas izmantot WebGL objektus, kas ir daļa no HTML5.
Pirmie LimeJS rezultāti ir efektīvi WebKit pārlūkos. Kods tehniski ir JavaScript, taču struktūra izskatās līdzīga labam, vecmodīgam C ar zvaniem uz OpenGL bibliotēku. Šai bibliotēkai vajadzētu būt iespējai automātiski sakompilēt dažus OpenGL, lai gan tas, iespējams, prasīs zināmu roku pielāgošanu.
LimeJS piedāvājumi ir dažas vērtīgas funkcijas, lai vienkāršotu spēļu izstrādi. Ir ainas, kas piepildītas ar slāņiem un režisoru, kas šaus notikumus pēc elastīga grafika. Ir animācijas un pārejas, kas pārvieto sprites pa visām lapām. Visas funkcijas būs pazīstamas cilvēkiem, kuri jau iepriekš ir rakstījuši gadījuma spēles.
Izstrādes vide ietver vairākus mūsdienīgus pieskārienus. Pamata ēka tiek apstrādāta Python, un galīgo paketi var apvienot kopā ar Google Closure Compiler, lai tā tiktu lejupielādēta ātrāk.
LimeJS būs pievilcīgs ikvienam, kurš pavadījis laiku, izstrādājot spēles OpenGL ietvariem citās vidēs. Kaut arī galīgā sintakse ir JavaScript, tā nepaļaujas uz sarežģītākām idejām, kas JavaScript padara dažus par sliktiem, vismaz līdz brīdim, kad slēgšanas sastādītājs veic savu darbu.
Mobilā tīmekļa programmēšanas rīks: Jdrop
Vairāk par Jdrop
No sejas izskatās, ka Jdrop ir liela JSON kaudze, kuru var sajaukt ar atvērtu NoSQL datu bāzi. Praksē šis tīmekļa resurss ir pielāgots, lai mobilajiem izstrādātājiem palīdzētu apkopot veiktspējas datus starp mazajiem ekrāniem un darbvirsmu, kur tos var labāk analizēt.
Lai atvieglotu grūtības iegūt atsauksmes par veiktspēju no mobilajām ierīcēm, Jdrop piedāvā grāmatzīmi Mobile Perf, kurā apkopoti veiktspējas grāmatzīmju komplekti, tostarp Firebug Lite, Page Resources, DOM Monster, SpriteMe, CSSess un Zoompf. Izmantojot Mobile Perf, jūs varat atkļūdot savu lietotni tālrunī un automātiski saglabāt iegūtos datus Jdrop mākonī, lai tos vēlāk varētu analizēt no darbvirsmas, nodrošinot interesantu veidu, kā atkļūdot patieso mobilās veiktspēju un pārbaudīt iecienīto mobilo vietņu HTML avotu.
Mobilā tīmekļa programmēšanas rīks: XUI, Zepto
Lejupielādēt XUI Lejupielādējiet Zepto
Lielākā daļa šeit aprakstīto ietvaru pastāv, lai smagi paceltu, pārvēršot lietojumprogrammas aprakstu, kas bieži ir uzrakstīts viņu pašu valodā, par kaut ko tādu, kas lapā izskatās diezgan labi. XUI un Zepto ir ļoti atšķirīgi. Viņi sāk ar domu, ka HTML un CSS jau ir diezgan labi, lai parādītu lielāko daļu lietu, ko varētu vēlēties parādīt, un piedāvā tikai palīdzību DOM izveidē un pārveidošanā.
Šīs bibliotēkas neizvietos jūsu logrīkus un pat neveidos jebkāda veida logrīkus. Jūs saņemat to, ko piedāvā HTML, pēc tam jūs kontrolējat tā izskatu ar CSS. Bibliotēka ir paredzēta, lai palīdzētu jums manipulēt ar DOM, piedāvājot tādas funkcijas kā spēja atrast elementus, pievienot klases un žonglēt ar notikumiem.
Izmaksu lielums ir liels. Pašreizējā Zepto versija sver aptuveni 2300 baitus, aptuveni desmito daļu no jQuery. XUI ir tikai nedaudz lielāks. Salīdzinājums ar jQuery ir piemērots, jo abi aizņemas lielu daļu sintakses, nepiedāvājot nevienu no funkcijām, kurām nepieciešams sarežģītāks un smagāks kods. Piemēram, XUI izvelk kodu, kas būtu saderīgs ar BlackBerry vai IE Mobile. Ja vēlaties, varat iegūt treknāku bibliotēku.