Thursday, November 20, 2014

Hybrid App, An experimentation written in EmberJS

Hybrid app гэдэг нь javascript, html, css гэх мэт вэб програм хөгжүүлэхэд хэрэглэгддэг бэлэн сурсан мэдлэг дээрээ суурилаад android, iphone мэтийн төхөөрөмжүүд дээр програм хөгжүүлэх ойлголт юм.




Ганц удаа бичээд л бүгд дээр нь ажиллах програм үүсгэж болно. Давуу тал гэвэл тухайн платформ бүрт зориулж Objective-C, Swift, Java гэх мэт олон янзын технологиуд ашиглах шаардлагагүй. Browser-ийн боломжуудаас хальсан тухайн төхөөрөмжийн native api функцуудэд хандах боломжтой. Вэб технологи дээр суурилсан тул өнгө дизайны шийдэл нь ч гэсэн илүү өргөн сонголттой. Тухайн компанид платформ бүрт зориулагдсан олон хөгжүүлэгчид байх шаардлагагүй гэх мэт давуу талуу зөндөө бий.

Hydrid App бичих боломжийг олгох Apache Cordova, Phonegap гэх зэрэг технологиуд бий. Дутагдалтай тал нь гэвэл тоглоом мэтийн өндөр гүйцэтгэл шаардах програм бичье гэвэл боломжгүй, боломжгүй ч гэж болох л байх л даа гэхдээ дөнгөж хөгжлийнхөө эхэн шатанд яваа учраас энгийн мобайл аппууд бичихэд одоогоор боломжийн.

Туршилт болгож front end тал дээр EmberJS, back end тал дээр Laravel PHP фрэймворкуудыг ашиглаад жижиг чат апп бичиж үзлээ.

Ганц rest api бичээд тэрийг нь вэб апп нь ч тэр мобайл апп нь ч тэр ижилхэн байдлаар хэрэглэнэ гэсэн үг.

вэб дээр deploy хийх workflow-ийн хувьд эхлээд ember-cli прожектоо build хийж minimize хийсэн js css resource-уудаа гаргаж авна.
    $> ember build --environment production

Дараа нь laravel дээрээ энэ resource-уудаа ачаалж рэндэрлэх view бэлдэнэ.
Үүний дараа database тохиргоогоо хийгээд FileZilla ашиглаж shared host-руугаа бүх соорсуудаа хуулаад л болоо.

А тийм, local phpMyAdmin-аараа SQL файлаар export хийгээд shared hosting дээр phpMyAdmin дээр үүнийгээ import хийх хэрэгтэй.


android дээр deploy хийхэд ember-cli-cordova плагин хэрэг болно. anroid sdk татаж аваад system path-уудаа тохируулсан байх шаардлагатай.

ember прожектруугаа ороод плагинаа суулгана
    $> npm install --save-dev ember-cli-cordova

үүний дараа android прожект үүсгэж тохируулна
    $> ember generate cordova-init com.domain.app --platform=android

android apk файл болгож build хийхдээ
    $> ember cordova:build --environment production --platform android

ингээд болсон бол утсан дээр шууд ажиллуулж болно
    $> ember cordova run