You are on page 1of 7

8/28/2014

Bn nn chn cng c no pht trin ng dng di ng a nn tng? | VinaCode

Bnnnchncngcno
phttrinngdngdinga
nntng?
BivitcdchtSimpleProgrammer
Vikinhnghimsdnghuhtttcccgiiphpchyutrongphttrinccngdngding
anntng.Vsaukhilmvicvittcccgiiphpkhcnhaucngvivicnghincuthm
nhngnntngkhc,tinghrngmnhnnxutbnmtbivitaranhngsuynghcabn
thnvmislachnnitrnvskhcnhaugiachng.
HunhtistptrungvohainntngchnhlAndroidviOSbivmcdtrnthtrngcngc
nhngithcnhtranhkhc,nhngthcrachnhngtaychilnlcntntichonngynay.
Minntngcnlichchiasnhaumtmingbnhnhbtrongthtrngngdngdingm
thi.

Cngcphttrinngdngdinganntngnolttnht?

NubnquantmthcththamgiamtskhahcdotixutbntiPluralsightbaogm:
MonoTouch(Xamarin.iOS)
MonoforAndroid(Xamarin.Android)
PhoneGap
AppceleratorTitanium
NativeAndroidDevelopment
http://vinacode.net/2014/08/25/nen-chon-cong-cu-nao-de-phat-trien-ung-dung-di-dong-da-nen-tang/

1/7

8/28/2014

Bn nn chn cng c no pht trin ng dng di ng a nn tng? | VinaCode

NativeiOSDevelopment
MonoGame(Phttringameanntng)

Phttrinngdngdngnative(dnggc)
Cchphbinnhtxydngccngdngdinglsdngcccngcnative(gc)icngvi
nntng.iviAndroidthnlJavavEclipsehoclAndroidStudiomicah,icngvi
AndroidSDK.iviiOS,thnlObjectiveChocSwiftvXCode.iviWindowsPhonethnl
C#vVisualStudio.

Cnnh,ngdngdingutinmtiphttrinlchoiOSvAndroidgc.Lcutixydng
mtphinbnngdngtrnAndroidvsautinhchuyntonbcodevthitkcangdng
nysangiOS.ylmtcngvictngikhvtihunhkhngthsdngphncode
chungnogia2ngdng.Tiphihcc2nntngikmviccSDKcahvti
cnghcthmngnngObjectiveC,bivtrckhitibtuvitngdngiOSutinca
mnhthtikhngbitvObjectiveChocmtchtgvphttrinngdngtrnmitrngMac.
Nichung,tiskhngxutcchlmnybivbnstnrtnhiuthigianduytrm
nguncahaingdnghontontchbitnhauvbnthcskhngthucgnhiu
bngcchsdngcccngcnative(gc).
Tuynhin,ticngxutrngbtkaicnhnghimtcvphttrinngdngding
anntngthtnhtcngnnphttrinmtngdngdngnatively(gc)ngintrnc
AndroidviOS.Ldonnlmiunylbivnsgipbnddnghnhiucigang
dinradicclptrutng(abstraction)trongmtgiiphpphttrinngdngdingann
tng,vnscungcpvgipbnnhnthyimmnh,imyutrongccgiiphpanntng
ny.

XamarinTools
CccngccaXamarinvcbnschophpbnphttrinccngdngAndroidhociOSbng
ngnngC#vcthchiasrtnhiuphncodegiaccngdngvinhau.

http://vinacode.net/2014/08/25/nen-chon-cong-cu-nao-de-phat-trien-ung-dung-di-dong-da-nen-tang/

2/7

8/28/2014

Bn nn chn cng c no pht trin ng dng di ng a nn tng? | VinaCode

KhivitmtngdngsdngbcngccahngXamarinthvcbnlbnangsdngmt
lptrutngphatrnccSDKthcscaiOSvAndroid.iunycnghalbnsthuckt
qulmtngdngnativehontoncngvigiaodinngidngnativetrnminntng.
Nhngiunycngcnghalbnsbgiihntimtmcnovicchiascodegiacc
nntngny.inhnhlkhitiphttrinmtngdngsdngcngccaXamarin,tisxy
dngmtphnlicangdngmcodecancthchiasgiahainntngiOSvAndroid,v
thmchlcphinbntrnWindowsPhonecangdngcngdatrnthvinliny.Vihng
tipcnnythbnckhnngsdnglikhongt6070%codecangdngmkhngphivt
v.
Nhngbncthtinxahnbngcchhocltphttrincclptrutng(abstractions)ca
ringmnhsdngmtkintrckiunhMVChayMVVM,hoclbncthsdngmtframework
nhMVVMcross.Vihngtipcnny,dnhinlskhhnmtchtbtunhnngcth
sdngclinhiucodehn,cllnnkhong8090%.
NunhgivcngcthcccngccaXamarincthnilrttuytvi!Xamarincngc
mtIDEcaringngilXamarinStudio.IDEnythanntng,ncthitkrtttvddng
sdng.CngcXamarinnycngcmtpluginchoVisualStudio,nschophpbnphttrin
ngdngcamnhtrongVisualStudio.ThmchbncthphttrinmtngdngiOStVisual
Studio,nhngscnmtmyMacthchincngvicbuildngdng.(Cngcnysdngmt
triugitxatimyMacthchincngvicbuild.)
GnyXamarincngvagiithiumtcomponentstore(khochaccmun),iunysgip
bntmcccthnhphncthsdnglitrctiptXamarinStudiomtcchddnghnv
gnchngvotrongngdngcamnh.
NhngcunschhayvcngcXamarin:
MobileDevelopmentwithC#:BuildingNativeiOS,Android,andWindowsPhone
Applications(cvitbichuyngiacngnghGregShackles)
DevelopingC#AppsforiPhoneandiPadusingMonoTouch:iOSAppsDevelopmentfor.NET
Developers(camttinngkhcvXamarinlBryanCostanich)

http://vinacode.net/2014/08/25/nen-chon-cong-cu-nao-de-phat-trien-ung-dung-di-dong-da-nen-tang/

3/7

8/28/2014

Bn nn chn cng c no pht trin ng dng di ng a nn tng? | VinaCode

PhoneGap
PhoneGapcthcxemlcitnnitingtiptheotrongccgiiphpphttrindingann
tng,nhngncngcnhiuimgykhhiuchomingi.

PhoneGapvcbnlmttpcchmJavaScriptAPI,nchophpbncthtruycp
nhngkhnnggctrongthitbding.Ncnglmtwrappervchophpbnxydng
mtngdngwebmsccitccbtrnthitb.
KhibnxydngmtngdngsdngPhoneGap,thvcbnlbnangxydngmttrang
webdingsdngHTML5vJavaScript,cnggingnhbnxydngnhngtrangwebkhc
hinnay,nhngbnangtmHTMLvJavaScripttrnthitbding.Ccngdng
PhoneGapchytrntrnhduytccbtrninthoivcmtshooktriugivoccthvin
gcthngquaccgiaodinlptrnhngdngJavaScriptAPI.
Ttciunycnghalg?
Vng,ncnghalnubnangphttrinmtngdngPhoneGap,thbncthphttrinn
gingnhmttrangwebdinganntng.Bncthsdngbtkmobileframeworknom
bnmun,nhSenchaTouch,hocJQueryMobile,v.v
VttccodetrongngdngcabnlHTMLvJavaScriptnnphnlnscthchias
c,nhngbnskhngcthvitmtngdngdngnative.
BivngdngPhoneGapcabnschytrongmttrnhduyt,vthnsgingmtngdng
webhnlmtngdngdngnative.Giaodinngidngmbnthitkskhngsdngnhng
controlgcvsphthucvogiihnvtccatrnhduytweb.iunycngcnghalbn
cthphivitmtscodechomtnntngxcnhnophhpviccloitrnhduytkhc
nhau,nhngvcbnthbnsckhnngchiashuhtnhngoncode.
CngcchoPhoneGapnyphthuchontonvomitrngmbnmunxydngngdng
trn.Bncthphttrinntrongbtcmitrngnombnthchvvcbnlsdng
mtpluginchoIDEtronghuhtcctrnghp.Cnphicmtsbcnhthaotcbngtay,v
thcngvicsetupnykhngdcholm.NhngmtlichlncaPhoneGaplchophpuploadd
ncabnvobtcmitrngnokhcmitrngmbnton,vcthbuildmtccht
http://vinacode.net/2014/08/25/nen-chon-cong-cu-nao-de-phat-trien-ung-dung-di-dong-da-nen-tang/

4/7

8/28/2014

Bn nn chn cng c no pht trin ng dng di ng a nn tng? | VinaCode

ngchonhngnntngkhc.
NhngcunschhayvcngcPhoneGap:
PhoneGapEssentials(catcgiJohnM.Wargo)
PhoneGap2.xMobileApplicationDevelopment(catcgiKerriShotts)

AppceleratorTitanium
Timuncpnnntngnytiptheobivrtnhiulptrnhvinbnhmlngianv
PhoneGap.AppceleratorTitaniumhontonkhcviPhoneGap.Chcmtimgingl
ngnngcsdnglJavaScript.Mithcnlithhontonkhcbit.

ViAppceleratorTitaniumthbnsdngmtcustomAPIphttrindinganntngxydng
ngdng.iunykhcviPhoneGaphocXamarin,bivviXamarinthbnsdngmtwrapper
xoayquanhccSDKnativethcth,cnviPhoneGapthbnsdngbtccigmmnhmun
xydngmtngdngwebHTML5.
ViTitaniumthbnthcsvitttccodecamnhdatrnSDKcahbaogmccthnh
phngiaodinUI.iunycnghalkhibnvitmtngdngTitaniumngnghavi
vicbnangvitmtgiaodinngidnganntng.
CcngdngAppceleratorTitaniumcbindchxungticcngdnggchontonv
sdngnhngcontrolgcthcstrnnntng.
Vd,trongTitaniumbncthlptrnhkhaibomtbuttonvlayoutxcnhcancngnhmt
sthuctnhchobutton.Khibnbindchngdng,thcibuttonsxuthinnhlmt
buttongccaAndroidkhichytrnthitbAndroidvnhlmtbuttongccaiOSkhinchytrn
iOS.
VyiunycnghalbncthxydngmtngdnganntnghonchnhbaogmUIvi
100%codecsdnglivthchinntrongJavaScript?

http://vinacode.net/2014/08/25/nen-chon-cong-cu-nao-de-phat-trien-ung-dung-di-dong-da-nen-tang/

5/7

8/28/2014

Bn nn chn cng c no pht trin ng dng di ng a nn tng? | VinaCode

Cth,nhngcngkhnghnnhvy.NhiuthnhphnUIvmhnhtngtclanntng,
nhngnhiuphnskhngnhvy.Vd,trongiOSthbncmtcontrolrtltnglNavigation
Controller,nsluvtccscreennombnltquavchophpbnquaytrlimtcchd
dngtrongAndroidthkhngccontrolnhvy.Nhng,Titaniumcnghtrcccontroltheonn
tngxcnh,cnghalbnphivitthmmtvioncodeiukindatrnnntng.
Ttciunynilnmtiurngbncthlptrnhvimuschungnhnhtgia
ccnntngvthucmtngdnganntngycngvignnh100%codec
thsdngli,nhngmcdbnsccccontrolgc,nhngktqucthkhng
cttlm.
Mtthctl,nubnangsdngTitaniumthbnscthmuniuchnhmtsphncang
dngchophhpvinhngnntngxcnh.
Titaniumthcscmtscngcrttt.CmtTitaniumIDErtmnhmvchophpauto
completingcconcodeJavaScript,cbitliviccTitaniumAPI.QutrnhbuildtIDEny
cngvcngnginvthmchchophpbnbuildmtngdngwebbnngoitrncng
codebase.Ngoiracngcmtch(marketplace)chaccthnhphnmbncthsdngv
muabsungchoccngdngcamnh.
TitaniumgnygiithiumtMVCframeworkctnlAlloy,nlmtcngctuytvito
raccngdngTitaniumvgipbngimbtcctcvlptrnhnhmchnkhitoraccgiaodin
ngidng.Cngviframeworkny,bnkhaibogiaodinngidngthngquamtfileXML,cng
vicnytngingin.SaubncthsdngcclpcontrollertngtcviUI.N
cngckhinimvstylesheetgngingviCSS.
Tuynhin,mttrongnhngcimntngnhtvTitaniumlnaracctnhnng
vcloud.Titaniumvcbnchophpbncthtruycpticcdchvmmy(cloudservices)
phabackendcahmtcchy,iunyschophpbncthddngtoranhngtnh
nngrthaygingnhlFacebooklikembnkhngphivitcodephabackend.Bncths
dngccdchvmmynyqunlvxcthcngidng,lutrdliuvh,cngnh
socialgraphsvthmchchcnlutrdidngcccpkey/value.Tithcsrtntngbi
chcnngny.
NhngcunschhayvcngcAppceleratorTitanium:
AppceleratorTitaniumApplicationDevelopmentbyExampleBeginnersGuide(catcgiDarren
Cope)
AppceleratorTitanium:PatternsandBestPractice(catcgiBoydleePollentine,TrevorWard)

Cctychnphttrindinganntng
khc?
Dnhinlcrtnhiulachnphttrinkhc,nhngtichchn3nntngphttrinngdng
chunnytchnhkinhnghimcabnthn,vycthxemlnhngcngcaranhiutnh
nngtuytvinht.
C3ctrngcngcbaogmtrongcccngcphttrindinganntngny:
Chiascode,nhngphnbitvcUInative(Xamarin)
CcngdngHTML5chyccb(PhoneGap)
http://vinacode.net/2014/08/25/nen-chon-cong-cu-nao-de-phat-trien-ung-dung-di-dong-da-nen-tang/

6/7

8/28/2014

Bn nn chn cng c no pht trin ng dng di ng a nn tng? | VinaCode

Ccngdnggccthchiascodehonton(Titanium)
Dnhinlcngcnhngmthnchcanhnghngtipcnnyvtrninykhngcgl
honhoc,nhngtinhgicaottcccgiiphpttny.
Nichung,tithchhngtipcnXamarinnhtbivcccontrolcancgiaodinngi
dngginghontonvicccontrolgcvtimunckhnngphttrinnbngngn
ngC#.
Tuynhin,nutiphttrinngdngbngPhoneGapthtissdngIcenium,vncbnlmt
IDEcngmttpcccngctrgipvicbuildvkimthdatrnCordova(mtphnmngun
mcaPhoneGap),ngipchocngvicphttrinvtrinkhaingdngcddnghn.
BncngngqunngkcckhahctiPluralsight,nubnmunhccchlmthnos
dngmtcchnhanhchngccframeworkphttrindingnitrn.
Nubnangsdngcngcnokhcphttrinngdngdinganntngthhy
dnhchtthigiangiithiuvimingiphnbnhlunphadinh!
Ccbivitlinquan:
Tinnhcngnnglptrnhno?
Nghlnvhnhngthnhcng
10Bquytthcmtcngnghmi
Ttclptrnhullptrnhweb
10Bquyttrthnhmtlptrnhvingii
Vtcgibivit:
JohnSonmezlmtlptrnhvin,ngilpratrangwebSimple
Programmer,ngthianhltcgicagiotrnhhctrctuyn
Pluralsight.Anhxutbnhn50khahctrctuynvccchnh
iOS,Android,.NET,JavavphttrinGames.Bncthlinhvianh
quaTwitter.

http://vinacode.net/2014/08/25/nen-chon-cong-cu-nao-de-phat-trien-ung-dung-di-dong-da-nen-tang/

7/7

You might also like