Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 嫩草影院久久精品,免费在线精品视频,日韩毛片高清在线看

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          邁步進(jìn)入跨平臺開發(fā)時(shí)代

          平臺開發(fā)的說法由來已久,但卻從未像今天這樣被各大廠商所重視。Google、Facebook、英特爾、微軟相繼推出重大舉措,支持和推動App開發(fā)商開發(fā)兼容Android、iOS、Windows Phone等平臺的應(yīng)用。而面對語言眾多、平臺眾多、終端適配和開發(fā)成本高昂等問題時(shí),App開發(fā)商自身也迫切希望能具備跨平臺開發(fā)的能力,以期達(dá)到降低開發(fā)成本、縮短開發(fā)周期、增多商業(yè)收益的目的。跨平臺開發(fā)時(shí)代已經(jīng)來臨,你做好準(zhǔn)備了嗎?

          流行的跨平臺開發(fā)工具

          在過去的一年,業(yè)內(nèi)涌現(xiàn)出了一大批優(yōu)秀的跨平臺開發(fā)工具,大致上主要分為三類:Web應(yīng)用、Native應(yīng)用、混合應(yīng)用。

          自適應(yīng)網(wǎng)頁設(shè)計(jì)(也稱“響應(yīng)式網(wǎng)頁設(shè)計(jì)”,如圖1所示),是一種時(shí)下比較流行的網(wǎng)頁設(shè)計(jì)技術(shù),也算是一種在線Web應(yīng)用。該設(shè)計(jì)使得網(wǎng)頁可根據(jù)訪問設(shè)備的特點(diǎn)以不同的風(fēng)格樣式進(jìn)行展現(xiàn)。也就是說,可以讓一個網(wǎng)站在手機(jī)上打開后,展現(xiàn)得像個本地應(yīng)用一樣,只要用戶在手機(jī)瀏覽器上輸入網(wǎng)址就可以使用該“應(yīng)用”的功能。這節(jié)省了開發(fā)App的成本,也不必為了在各個應(yīng)用商店上更新發(fā)布App而煩惱——只要網(wǎng)站更新了,用戶的“App”就會隨之更新。時(shí)下比較流行的此類框架有:Bootstrap、Pure、Foundation、Ink、Skeleton、ChocolateChip-UI等。

          PhoneGap是一個推出時(shí)間相對較早的開源免費(fèi)的跨平臺移動App開發(fā)框架,一直以來都受到大量開發(fā)者的喜愛,從iOS、Android、Windows Phone到Amazon、Firefox OS等各大小主流移動平臺一應(yīng)俱全,而且也能使用地理位置、加速器、聯(lián)系人等智能手機(jī)常見的核心功能。PhoneGap框架主要使用的還是基本的Web開發(fā)技術(shù)(HTML、JavaScript、CSS),所以它在各平臺上具有優(yōu)越的兼容性,熟悉網(wǎng)頁開發(fā)的開發(fā)者能低成本地快速開發(fā)跨平臺應(yīng)用。應(yīng)用的性能在經(jīng)過分別優(yōu)化后也大多可以接受。

          Hybrid(混合)模式應(yīng)用開發(fā),其實(shí)質(zhì)上就是一種中間件機(jī)制的應(yīng)用程序框架,有人形容它是“Native搭臺,HTML5唱戲”,近來受到了大量開發(fā)團(tuán)隊(duì)的追捧,成為一種主流開發(fā)模式。Titanium、AppCan、ionicFramework等都是其中的佼佼者,尤其AppCan作為國產(chǎn)貨,因?yàn)橛休^強(qiáng)的本地化文檔和技術(shù)支持,被大量國內(nèi)開發(fā)者關(guān)注。Web前端開發(fā)工程師幾乎可以零成本介入,快速做出漂亮的UI并滿足大部分跨平臺需求。無論是在什么系統(tǒng)下,混合應(yīng)用可以實(shí)現(xiàn)幾乎完全相同的交互體驗(yàn)。

          Xamarin,雖然我們可以通過組織多個團(tuán)隊(duì)或雇用全棧程序員的方式,針對各個平臺使用原生語言和開發(fā)工具分別開發(fā)出同一應(yīng)用的Native版本,實(shí)現(xiàn)跨平臺,但這個做法顯然成本過高,而且應(yīng)用程序生命周期也很難控制。Xamarin則可以通過一種編程語言搞定所有平臺的Native App開發(fā),這個語言就是C#。時(shí)下依然有很多人把C#語言跟.NET做等同認(rèn)知,認(rèn)為C#只能編寫.NET應(yīng)用程序,而且只能在微軟的平臺上跑,這是一種非常錯誤的觀點(diǎn)。C#是一種優(yōu)秀的計(jì)算機(jī)編程語言,支持.NET、Mono,但也可以編寫非托管應(yīng)用,甚至是操作系統(tǒng)。Xamarin是開源項(xiàng)目Mono的商業(yè)化運(yùn)作公司,它的跨平臺開發(fā)工具名也叫Xamarin。Xamarin可以使用C#調(diào)用各個平臺系統(tǒng)的原生UI和底層API,可以極高程度地保證應(yīng)用性能和UI流暢性。用Xamarin開發(fā)跨平臺應(yīng)用程序,可以方便地使用C#語言的很多先進(jìn)特性和第三方類庫,例如LINQ、Lambdas、XDocument、事件與委托、并行運(yùn)算、JSON.NET等。在商業(yè)版訂閱下,還可使用Visual Studio開發(fā),當(dāng)然也可以使用TFS讓團(tuán)隊(duì)協(xié)作更便捷。需要注意的是,時(shí)下最流行的游戲引擎Unity也是主要用C#開發(fā)的。

          LiveCode是一種相對比較特殊的跨平臺開發(fā)工具,它使用了近乎人類語言的方式開發(fā)應(yīng)用程序,使得開發(fā)簡單應(yīng)用時(shí)的效率大幅增加,而且相當(dāng)親民。其客戶也不乏類似大型航空公司等極重量級的企業(yè)。

          跨平臺開發(fā)工具的對比

          Web應(yīng)用可以完全由Web前端工程師開發(fā),只要智能設(shè)備連上網(wǎng)絡(luò)并安裝了合適的瀏覽器就可以通過URL訪問“應(yīng)用”,而Web工程師只要更新服務(wù)器上的文件,就可以實(shí)現(xiàn)對此“應(yīng)用”的更新,無論時(shí)間成本還是維護(hù)成本都非常低廉。但恰恰是Web應(yīng)用的優(yōu)點(diǎn)導(dǎo)致了它的如下缺點(diǎn)。

          1. Web應(yīng)用必須連線訪問,在網(wǎng)絡(luò)條件不好的情況下啟動速度會極慢。而且每次啟動都會因?yàn)榫W(wǎng)絡(luò)訪問和UI資源(比如圖片)的下載,造成用戶手機(jī)流量的浪費(fèi),這在2G網(wǎng)絡(luò)條件下就會尤其明顯。優(yōu)化不好的話,還可能造成用戶手機(jī)欠費(fèi)停機(jī)。

          2. 各平臺下的瀏覽器多種多樣,頁面渲染效果和JavaScrip的運(yùn)行效率有較大差異,要想保證UI一致性,需要做大量CSS Hack和JavaScript代碼優(yōu)化工作,但很多情況下你的優(yōu)化不一定起到正面作用。

          幾乎無法使用設(shè)備本地的API,尤其是底層API,這使得Web應(yīng)用的能力十分有限。

          Hybrid(混合)應(yīng)用開發(fā)模式,兼顧了Web和Native。既有Web應(yīng)用的低開發(fā)成本和跨平臺相同UI交互的優(yōu)點(diǎn),又可以通過JavaScript訪問常見的Native API,還可以利用HTML5的Local Storage技術(shù)在本地離線存取數(shù)據(jù)。但既然稱之為混合應(yīng)用,就無法逃避混合技術(shù)的缺點(diǎn)。

          1. Web頁面的渲染受限于CSS,雖然可以到達(dá)各種設(shè)備幾乎相同的UI交互,但喪失了平臺默認(rèn)的交互習(xí)慣,與Native App形成體驗(yàn)差別,增加了單平臺用戶的學(xué)習(xí)成本,降低了平臺應(yīng)用認(rèn)同感。

          各種智能手機(jī)平臺對其內(nèi)置的瀏覽器內(nèi)核大多做過一些定制化“改進(jìn)”,對于一些事件處理存在差異,尤其是Android系統(tǒng),在全球有幾千款不同的設(shè)備,再加上操作系統(tǒng)版本的差別,Web App很難做到真正意義上的跨平臺。

          2. 雖然是混合應(yīng)用,但應(yīng)用界面依然沒有脫離瀏覽器,所以混合應(yīng)用依然無法達(dá)到Native App的性能和流暢性。

          3. 對非穩(wěn)定網(wǎng)絡(luò)的運(yùn)行環(huán)境難以細(xì)化控制,復(fù)雜條件下用戶體驗(yàn)可能極差。

          4. 在內(nèi)存管理方面近乎無能,常會因此造成應(yīng)用崩潰。

          5. 受JavaScript語言的限制,一些相對底層的功能實(shí)現(xiàn)難度明顯增加。

          Xamarin可以通過C#這一種語言編寫主流平臺的真正Native App,其通過強(qiáng)大的編譯器平衡了應(yīng)用開發(fā)效率和應(yīng)用執(zhí)行效率,尤其是對使用C#開發(fā)的程序員而言,是莫大誘惑。Google、蘋果、微軟三大巨頭與其都有深層合作關(guān)系,這使得Xamarin總能在第一時(shí)間推出新平臺的SDK。以iOS7為例,iOS7發(fā)布當(dāng)天下午,Xamarin就跟進(jìn)發(fā)布了iOS7 SDK的正式版,這使得App開發(fā)商幾乎可以零滯后地跟進(jìn)新系統(tǒng)平臺的App開發(fā)。在北美市場,Xamarin開發(fā)工具已經(jīng)非常火熱。當(dāng)然,Xamarin目前也存在不少缺點(diǎn)。

          1. 相對于HTML、CSS、JavaScript而言,C#的學(xué)習(xí)成本偏高,無法使無編程經(jīng)驗(yàn)者達(dá)到幾天入門的程度。

          2. iOS的應(yīng)用開發(fā)雖然可以在Windows上做,但調(diào)試過程依然無法脫離Mac系統(tǒng),團(tuán)隊(duì)內(nèi)至少要有一臺Mac系統(tǒng)的機(jī)器作為Build Host。

          3. 對于iOS、Android、Windows Phone系統(tǒng)平臺分別做UI時(shí),尚未推出統(tǒng)一的可視化設(shè)計(jì)工具。不過慶幸的是,目前Xamarin內(nèi)部已開發(fā)了測試版,相信不久便可以正式公開發(fā)布。

          4. 對中國個人開發(fā)者而言,商業(yè)授權(quán)版本價(jià)格有些偏高,難以大規(guī)模普及推廣。

          5. 中文資料偏少,尚需官方和社區(qū)共同參與完善。

          跨平臺開發(fā)工具選型

          前面對主流跨平臺開發(fā)方案做了一些對比,大家應(yīng)該有了一些基本概念,那么,如何選擇最適合自己的跨平臺開發(fā)工具,則成為了一個不小的難題。這里我根據(jù)自己的經(jīng)驗(yàn)給出一些建議,供大家參考。

          1. 選擇開發(fā)工具就像娶媳婦兒,不要選擇最好的,要選最合適的。

          2. 如果開發(fā)團(tuán)隊(duì)成員完全沒有App開發(fā)經(jīng)驗(yàn),客戶應(yīng)用場景也不會受到網(wǎng)絡(luò)影響,功能主要是數(shù)據(jù)的增刪改查,不需要平臺本地API,那么Web App是個不錯的選擇,尤其是響應(yīng)式設(shè)計(jì),客戶接受度會比較高,尤其是企業(yè)應(yīng)用的客戶。

          3. 如果需要使用少量平臺本地API,對應(yīng)用程序也沒有較為嚴(yán)苛的性能要求,Hybrid應(yīng)用絕對是最佳選擇,因?yàn)樗男詢r(jià)比極高。

          4. 當(dāng)碰到Web性能瓶頸無法逾越;希望使用完善的應(yīng)用程序生命周期;希望縮減Native App開發(fā)團(tuán)隊(duì)成本;希望使用一種開發(fā)語言,卻還希望使用各平臺下特有的第三方類庫時(shí),Xamarin是個不錯的選擇。雖然看起來授權(quán)價(jià)格不低,但從總體成本來看,節(jié)省了不少。

          5. 微軟在最近的Build大會上將WinJS開源了,并且承諾將會支持iOS、Android等平臺。一旦目標(biāo)達(dá)成,這也是一種不錯的選擇,尤其是對苦逼的Windows Phone開發(fā)者們而言。

          6. LiveCode從某種程度上來說,更應(yīng)該算是一種親民的編程語言,期望讓所有人都能輕松開發(fā)一個App,但作為一種解釋性語言,是否能被專業(yè)開發(fā)者接受是個值得探討的問題。

          結(jié)束語

          跨平臺開發(fā)即將成為主流趨勢,作為開發(fā)商或開發(fā)者,具備跨平臺開發(fā)能力成為必需。想一想,就連過去最不愿意提及跨平臺和開源的微軟都敞開胸懷,擁抱跨平臺,并且開源和免費(fèi)了,我們還有什么理由原地踏步,固步自封呢?行動起來,一起邁步進(jìn)入跨平臺開發(fā)時(shí)代!

          本文來自《程序員》雜志電子刊2014年05期。

          大量的應(yīng)用程序構(gòu)建平臺可以創(chuàng)建和開發(fā)應(yīng)用程序,而不會破壞規(guī)則或要求使用者知道如何編碼。相反地,開發(fā)者在使用中可以快速創(chuàng)建移動應(yīng)用程序,并且可以使用教程和豐富的模板,這些模板無疑也會很棒。所謂最佳工具,對開發(fā)者而言無疑是最省時(shí)省力地,對企業(yè)而言,無疑是花錢最少,東西最好地。以下是TOP 23個最佳移動應(yīng)用程序開發(fā)平臺,如果你有更棒的分享,歡迎留言。

          1. Appery.io

          Appery.io是一個基于云的平臺,具有可視化開發(fā)工具和集成的后端服務(wù),已經(jīng)被AT&T,ESPN和三星等企業(yè)使用,這是一個強(qiáng)大的和可視化的應(yīng)用程序生成器工具。

          Appery.io提供了許多有用的模板,并支持響應(yīng)式Web應(yīng)用程序開發(fā)。

          2. Appcelerator

          Appcelerator的移動平臺在其組件市場提供了預(yù)集成云服務(wù)和廣泛的應(yīng)用程序擴(kuò)展庫。

          這非常適合需要利用基于Web技術(shù)進(jìn)行多操作系統(tǒng)應(yīng)用程序開發(fā)的企業(yè)。

          它還包含令人印象深刻的應(yīng)用使用情況見解,這意味著監(jiān)視應(yīng)用程序性能將變得非常簡單

          3. AppInstitute

          基于Nottingham的AppInstitute成立于2011年,為iOS和Android提供了一個無需編碼的應(yīng)用構(gòu)建平臺。

          AppInstitute提供了一系列的應(yīng)用程序模板和有用的拖放編輯器——更不用說CRM應(yīng)用程序來監(jiān)視應(yīng)用程序銷售,推送通知和分析等功能了。

          4. AppMachine

          AppMachine是聲稱使應(yīng)用程序制作變得簡單和為任何人所用的工具。它的工作原理是掃描網(wǎng)站并創(chuàng)建內(nèi)容。然后,AppMachine允許迭代它所謂的“構(gòu)建塊”。

          這是獲得最小可行產(chǎn)品的一個既經(jīng)濟(jì)又便宜的方法。

          5. AppMakr

          AppMakr將幫助開發(fā)者獲取內(nèi)容或服務(wù),并創(chuàng)建本機(jī)iPhone和Android應(yīng)用程序以及HTML5移動網(wǎng)站。

          這是一個無代碼的解決方案,只需要幾分鐘的時(shí)間,但要注意所有服務(wù)的使用要求。

          借助AppMakr,開發(fā)者將能夠利用內(nèi)置通知,完全自定義和進(jìn)行實(shí)時(shí)應(yīng)用程序更新。

          6. AppYourself

          AppYourself可以創(chuàng)建一個約50歐元的Android應(yīng)用程序。

          用戶可以通過與Open Table和Resmio的合作獲益,電子商務(wù)功能相對比較簡單。AppYourself界面非常易于使用。

          它確實(shí)為構(gòu)建應(yīng)用程序提供了一個流暢且可訪問的平臺。

          7. Appy Pie

          Appy Pie允許編輯應(yīng)用程序,并發(fā)布在幾乎每個可用的平臺。

          開發(fā)者能夠創(chuàng)建適用于Windows手機(jī),黑莓和Fire OS(Kindle)以及Android和iOS的應(yīng)用程序,這是非常令人印象深刻的。雖然,需要支付一定費(fèi)用,每個月花費(fèi)50美元。

          如果想制作僅限Android應(yīng)用程序,則每個月有15美元的基本費(fèi)用。

          8. Bizness Apps

          作為面向小型企業(yè)的應(yīng)用程序制造商,Bizness Apps提供了一種簡單方法匯總來自網(wǎng)站和社交媒體的現(xiàn)有內(nèi)容。

          開發(fā)者可以實(shí)時(shí)查看更改,絕對不需要任何編程專業(yè)知識。這對現(xiàn)在只需要一個應(yīng)用程序的中小型企業(yè)來說是有用的,對于那些以應(yīng)用程序?yàn)橹行牡娜藖碚f,它們的用處不大。

          9. Como

          Como用戶可以選擇模板和導(dǎo)航風(fēng)格,甚至添加自己的個性化內(nèi)容,可用于創(chuàng)建的主要應(yīng)用程序以日歷,音樂播放器,點(diǎn)餐等為中心,具備一些例如可添加會員卡方案的功能。

          10. GameSalad

          GameSalad是一個有區(qū)別的應(yīng)用程序制作工具,Gamesalad聲稱,開發(fā)者可以在一個小時(shí)內(nèi)建立一個游戲。

          GameSalad支持所有主流操作系統(tǒng),包括Amazon和Windows。

          11. Good Barber

          Good Barber是通過簡單的四步來建立漂亮的應(yīng)用程序。與大多數(shù)簡單的應(yīng)用程序制造商不同,它將設(shè)計(jì)放在前面,讓開發(fā)者稍后添加內(nèi)容。

          這就是說,它的內(nèi)容管理功能是非??捎^的。同時(shí),Good Barber制作應(yīng)用程序很簡單。

          12. iBuildApp

          借助簡單的拖放編輯器,內(nèi)置的CMS和超過1,000個應(yīng)用程序模板,iBuildApp在創(chuàng)建設(shè)計(jì)良好的應(yīng)用程序方面看起來就像是全能的,開發(fā)者只需掌握很少的編碼知識。

          使用iBuildApp,開發(fā)者可以選擇所工作的部門并篩選相關(guān)模板。根據(jù)iBuildApp的統(tǒng)計(jì),全球超過15,000家企業(yè)正在使用它,積累了超過200萬的用戶。

          13. jQuery Mobile

          作為非盈利軟件自由保護(hù)協(xié)會jQuery開源項(xiàng)目的一部分,jQuery Mobile非常適合那些需要開源移動web框架的企業(yè),這些框架將允許開發(fā)者利用現(xiàn)有的jQuery技能。

          該框架提供了使用HTML,JavaScript和CSS為一系列智能手機(jī)構(gòu)建交互式移動Web應(yīng)用的能力,并且可以與PhoneGap一起使用來構(gòu)建混合移動應(yīng)用程序。

          它沒有其他人列出的圓滑感,但它不應(yīng)該被忽視。

          14. Kalipso

          Kalipso為Windows,Android和Microsoft操作系統(tǒng)提供移動應(yīng)用程序開發(fā),重點(diǎn)關(guān)注流程,而不是代碼。

          主要功能包括拖放編輯器,免費(fèi)運(yùn)行時(shí),內(nèi)置GPS,數(shù)據(jù)庫同步,多語言和技術(shù)支持。

          Kalipso還提供了很多可愛的主題供開發(fā)者選擇。

          15. Kony

          Kony于2007年首次推出時(shí),專注于面向消費(fèi)者的應(yīng)用程序,但隨后增加了B2E功能。

          Kony平臺非常適合需要在一系列移動設(shè)備上使用原生功能的項(xiàng)目。該環(huán)境可用于為平板電腦,智能手機(jī),功能手機(jī),移動瀏覽器甚至桌面瀏覽器構(gòu)建應(yīng)用程序,然后部署到所有設(shè)備。

          16. LiveBlox

          Apulus公司的LiveBlox允許用戶通過“Blox”開發(fā)無需編碼的應(yīng)用,這些代碼塊可以鏈接在一起以創(chuàng)建一個有意義的應(yīng)用程序。

          主要功能包括:拖放編輯器,GUI構(gòu)建器,視頻,導(dǎo)出應(yīng)用程序,3D引擎和插件系統(tǒng)。

          17. Mobile Roadie

          Mobile Roadie已經(jīng)相當(dāng)有名氣了。它與眾不同之處在于漂亮的設(shè)計(jì)模板數(shù)量和可用的附加功能。

          Mobile Roadie擁有粉絲墻,聊天,音樂播放和定位功能,但是所有這些功能都是有代價(jià)的。

          18. NativeScript

          作為被Gartner在2017年魔力象限中任命為移動應(yīng)用程序開發(fā)的領(lǐng)導(dǎo)者,開源框架NativeScript是一個相當(dāng)強(qiáng)勁的競爭者。

          用戶可以使用JavaScript,Agular和TypeScript創(chuàng)建原生應(yīng)用程序,并且可以輕松地重復(fù)使用代碼,為開發(fā)者節(jié)省大量時(shí)間。NativeScript從一個代碼庫創(chuàng)建iOS和Android應(yīng)用程序,并提供許多有用的指導(dǎo)來幫助縮短學(xué)習(xí)曲線。

          19. Outsystems

          Outsystems是一個低代碼應(yīng)用程序平臺,旨在創(chuàng)建,部署和管理定制應(yīng)用程序。

          所有應(yīng)用程序都是安全集成的,所以對于那些希望構(gòu)建可能包含敏感信息的應(yīng)用程序來說是一個很好的選擇。

          20. TheAppBuilder

          TheAppBuilder是一個針對企業(yè)的移動開發(fā)工具。憑借包括Heathrow Airport在內(nèi)的令人印象深刻的客戶名單,TheAppBuilder已經(jīng)成為應(yīng)用程序和面向外部的軟件構(gòu)建模式的重要平臺。

          21. Viziapps

          Viziapps是一個易于使用的平臺,用于創(chuàng)建商業(yè)應(yīng)用程序。用戶可以使用簡單的拖放編輯器來設(shè)計(jì),測試和發(fā)布應(yīng)用程序,因此非常適合缺乏編碼技能的用戶。

          Viziapps還提供了大量的第三方插件和ViziApps Studio,使用戶可以在自己的移動設(shè)備上看到他們的應(yīng)用程序。

          22. Verivo Software

          Verivo軟件專注于輕量級本地客戶端應(yīng)用程序,使其成為企業(yè)需要以有限的開發(fā)資源支持各種設(shè)備類型和平臺的強(qiáng)有力的選擇。

          為了幫助跨平臺提供一致的原生用戶體驗(yàn),Verivo提供了可跨平臺共享的視覺/功能元素

          23. Xamarin from Microsoft

          2016年2月,微軟收購了移動應(yīng)用開發(fā)平臺Xamarin。

          開發(fā)人員可以使用C#輕松創(chuàng)建應(yīng)用程序,為iOS,Android和Windows生成原生應(yīng)用程序。 更重要的是,Xamarin提供了一個交互式儀表盤,提供有關(guān)活躍用戶,會話和其他有用指標(biāo)的實(shí)時(shí)數(shù)據(jù)。

          據(jù)說這次收購增加了微軟在開放平臺上的軟件創(chuàng)新動力。

          者 | 陳峻

          審校 | 孫淑娟

          眾所周知,根據(jù)使用場景的不同,我們往往需要針對智能手機(jī)、平板電腦以及可穿戴設(shè)備等不同平臺,開發(fā)相應(yīng)的應(yīng)用。如果為每一類應(yīng)用都去編寫?yīng)毺氐某绦虼a的話,不但耗時(shí),而且無法實(shí)現(xiàn)代碼的重用。因此,我們需要引入混合應(yīng)用開發(fā)的機(jī)制。

          通常,我們可以使用各種現(xiàn)成的框架,去編寫一個混合應(yīng)用,然后將其存儲在原生的容器中,以實(shí)現(xiàn)在不同的平臺上,部署此類原生應(yīng)用??梢姡线m的平臺框架,能夠給混合應(yīng)用的開發(fā),帶來事半功倍的效果。下面,我將向你介紹目前6種最為實(shí)用的開發(fā)框架。

          1、React Native

          作為一個JavaScript框架,React Native可以被用于開發(fā)跨平臺的移動應(yīng)用。由于該框架帶有一種可用于開發(fā)用戶界面的獨(dú)特語言—JSX,因此用戶可通過React編寫出HTML和CSS。同時(shí),它的用戶界面組件也被設(shè)計(jì)成為能夠給最終用戶帶來快速且愉快的體驗(yàn)形式。

          與其他大多數(shù)需要重新編譯代碼、或重新啟動應(yīng)用,才能見效的開發(fā)框架不同,React Native的誘人之處在于,它能夠快速展示應(yīng)用被更改的效果。

          由于React Native在每個平臺上都會使用JavaScript引擎,因此你可以去訪問由庫和開源工具所組成的龐大生態(tài)系統(tǒng)。同時(shí),它也允許用戶無縫地將部分應(yīng)用代碼移植到另一個平臺上。

          對于某些具有動態(tài)、復(fù)雜或高級設(shè)計(jì)的接口來說,React Native可能并非完美的框架。由于可供你使用的自定義模型數(shù)量比較有限,因此你往往需要針對應(yīng)用中重要的復(fù)雜性部分,從頭開始開發(fā)與構(gòu)建。初學(xué)者則需要花費(fèi)一段時(shí)間,去掌握該框架的全面功能。

          總的說來,React Native不但縮短了開發(fā)時(shí)間,而且能夠與第三方應(yīng)用相兼容,值得大家學(xué)習(xí)。

          2、Ionic

          曾為NHS(英國國家醫(yī)療服務(wù)體系)和西南航空等組織提供數(shù)百萬強(qiáng)大應(yīng)用的Ionic,是業(yè)界領(lǐng)先的混合應(yīng)用工具包。它允許用戶使用單一的代碼庫,為多個平臺開發(fā)出混合移動應(yīng)用。

          Ionic擁有一套為移動優(yōu)化了的HTML庫、CSS背景模式以及JavaScript組件。這些基本工具都能夠幫助用戶構(gòu)建出用戶友好的、交互式的多平臺應(yīng)用。

          Ionic的另一個優(yōu)勢是,它包含了一套針對攝像頭、GPS以及健康套件的額外功能,以便你增加自己的應(yīng)用功能集。同時(shí),你也可以在編寫代碼時(shí),通過測試每個組件,以盡早地發(fā)現(xiàn)各種錯誤與缺陷。

          由于Ionic包含了一組高效的響應(yīng)式部件,因此它在保證了靈活的用戶體驗(yàn)的同時(shí),也節(jié)省了你在開發(fā)過程中花費(fèi)的寶貴時(shí)間和精力。

          不過,Ionic最大的局限在于,其開發(fā)出的應(yīng)用程序嚴(yán)重依賴于原生的插件。雖然此類插件旨在達(dá)到與原生應(yīng)用相當(dāng)?shù)男阅埽遣⒎撬袑?shí)例都可以用到它們。也就是說,你可能很難為自己正在開發(fā)的應(yīng)用找到其合適的插件。

          3、Xamarin

          作為相對較新的原生編譯框架,Xamarin可以被用來開發(fā)出那些需要保持原有的外觀和用戶體驗(yàn)的高性能應(yīng)用。2016年,微軟收購了Xamarin項(xiàng)目社區(qū),并使之成為微軟生態(tài)系統(tǒng)中,用于開發(fā)應(yīng)用程序的流行工具。

          由于Xamarin能夠使用C語言,以及基于.NET層面的其他原生庫,來開發(fā)應(yīng)用程序,因此它可以在不犧牲性能的情況下,將帶有原生庫的高端應(yīng)用,部署到不同平臺的程序中。這與其他流行的混合框架相比,顯然提供了更好的用戶體驗(yàn)。

          不過,與原生應(yīng)用相比,Xamarin在性能上存在著一定的局限性。因此,它不一定是某些復(fù)雜應(yīng)用的最佳選擇。同時(shí),由于該框架中也不提供熱重載的相關(guān)功能,因此其某些功能可能無法在特定的平臺上被實(shí)時(shí)更新。

          總的說來,作為混合開發(fā)需求的一項(xiàng)不錯的選擇,Xamarin具有強(qiáng)大的支持、全面的資源,并能夠讓你的應(yīng)用具有接近原生的性能。

          4、Flutter

          根據(jù)Google的定義,F(xiàn)lutter通過一個直觀的UI工具箱(其中包括插件庫和創(chuàng)新的用戶界面),讓用戶控制應(yīng)用的組件,進(jìn)而實(shí)現(xiàn)類似原生的性能。例如,F(xiàn)lutter的App Builder就能夠讓你混合和匹配各種功能。而使用其hotloader特性,你可以在調(diào)試代碼時(shí),即時(shí)進(jìn)行更改,進(jìn)而簡化了整個開發(fā)過程。此外,由于Flutter能夠支持開發(fā)出不限于Android或iOS的應(yīng)用,因此它已得到了廣泛的使用。

          對于初學(xué)者來說,由于Flutter使用的是Dart,這種并非針對應(yīng)用開發(fā)的流行語言,因此其學(xué)習(xí)曲線較為陡峭。而且,雖然由其提供的內(nèi)置小部件(widgets)對于應(yīng)用而言非常重要,但是一旦缺少了第三方庫,就意味著開發(fā)者需要額外地用自己的代碼去實(shí)現(xiàn)。

          總的說來,F(xiàn)lutter仍然是不錯的選擇。它不但能夠通過一流的UI元素來提供字體選項(xiàng),而且可以通過各種小部件,來改善應(yīng)用的整體性能與用戶體驗(yàn)。

          5、NativeScript

          作為一個開源的框架,NativeScript可以讓用戶使用JavaScript和CSS等Web技能來構(gòu)建應(yīng)用程序。而憑借著出色的特性和整體性能,NativeScript能夠與最新的移動版本、資源庫以及命令行界面相兼容。

          該架構(gòu)的一項(xiàng)實(shí)用特性是它可以實(shí)時(shí)地更新應(yīng)用,而無需手動刷新。當(dāng)然,與大多數(shù)其他混合應(yīng)用框架不同,NativeScript并不使用Web技術(shù)。

          總的說來,該框架不僅功能豐富,便于使用,而且性價(jià)比高,能夠給開發(fā)人員帶來流暢的使用體驗(yàn)。

          6、Apache Cordova

          Cordova使用CSS3、JavaScript以及HTML5,來創(chuàng)建跨平臺的應(yīng)用。通過擴(kuò)展其HTML5和CSS3特性,該框架增加了諸如:加速器、指南針、麥克風(fēng)以及文件系統(tǒng)等額外功能,從而能夠與目標(biāo)設(shè)備協(xié)同工作。

          同時(shí),憑借著此類額外功能,開發(fā)者既可以快速、靈活地構(gòu)建原生應(yīng)用,又能夠訪問第三方的插件和工具箱。

          雖然Cordova自身已包含了大量的平臺插件與功能,但是就算你沒找到合適的插件,也可以輕松地編寫出自己的插件,并通過JavaScript代碼的形式連接到系統(tǒng)級的代碼中,以確保提供原生的性能。

          與Ionic類似,該框架也包含了近似原生的小部件、選項(xiàng)卡以及可重排的列表等特性。同時(shí),由于Apache Cordova能夠提供兩種工作流方法以及一種跨平臺的工作流方法(即:CLI),因此由其開發(fā)的應(yīng)用程序可以在不同的移動操作系統(tǒng)上運(yùn)行。

          此外,CLI還提供一個獨(dú)特的接口以協(xié)助開發(fā)者將插件植入應(yīng)用之中。也就是說,以平臺為中心的工作流,可以幫助你先構(gòu)建單個平臺應(yīng)用,然后再將其修改為并不復(fù)雜的形式。

          7、選擇合適的框架

          綜上所述,不同的混合框架有著適合不同應(yīng)用場景的獨(dú)特賣點(diǎn)。例如,NativeScript的主要吸引力在于,你不需要事先了解應(yīng)用會運(yùn)行在iOS還是Android平臺上。你更應(yīng)該仔細(xì)考慮的是,待開發(fā)應(yīng)用的并發(fā)性、兼容性以及成本等因素,并據(jù)此來選擇適合的框架。

          原文鏈接:https://www.makeuseof.com/hybrid-app-development-best-frameworks/

          譯者介紹

          陳峻 (Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項(xiàng)目實(shí)施經(jīng)驗(yàn),善于對內(nèi)外部資源與風(fēng)險(xiǎn)實(shí)施管控,專注傳播網(wǎng)絡(luò)與信息安全知識與經(jīng)驗(yàn)。

          來源: 51CTO技術(shù)棧


          主站蜘蛛池模板: 国产一区麻豆剧传媒果冻精品 | 狠狠做深爱婷婷久久综合一区 | 综合人妻久久一区二区精品| 无码少妇精品一区二区免费动态| 无码人妻一区二区三区av| 国产精品无圣光一区二区| 国产乱码精品一区三上| 国产精品乱码一区二区三| 久久国产精品无码一区二区三区| 中文字幕日韩人妻不卡一区| 亚洲av无码一区二区三区观看| 精品国产AV一区二区三区| 国产精品高清一区二区三区| 国内精品视频一区二区三区| 国产一区二区久久久| 一区二区三区四区精品视频| 亚洲av鲁丝一区二区三区| 精品视频一区二区三区| 国产AⅤ精品一区二区三区久久| 国产精品va一区二区三区| 国产一区二区三区不卡在线看| 亚洲日本久久一区二区va| 国产在线观看精品一区二区三区91| 成人在线观看一区| 99精品国产一区二区三区不卡| AV怡红院一区二区三区| www一区二区三区| 精品一区二区三区色花堂| 亚洲国产一区视频| 国精品无码A区一区二区| 在线精品亚洲一区二区三区| 久久国产三级无码一区二区| 国产av天堂一区二区三区| 无码精品视频一区二区三区| 91精品一区二区三区在线观看| 亚洲香蕉久久一区二区三区四区| 久久久国产精品无码一区二区三区| 国产精品视频一区| 欧洲精品无码一区二区三区在线播放| 国产av熟女一区二区三区| 亚洲综合激情五月色一区|