
我突然覺(jué)得, 他們正好把我思想的口號給用去了( 不過(guò)我沒(méi)想到這么美的詞 ), 因為我已經(jīng)在更早的時(shí)候就決定要講一講 Ionic 了, 這個(gè)口號也同樣是: Learn Once, Use Anywhere, 但是, 加了一句, For AngularJS.
開(kāi)始 Ionic 之前, 我們要先回顧下歷史.
Web 領(lǐng)域從 1995 年第一個(gè)真正的網(wǎng)站建立到 2015 年, 發(fā)展的飛起. 整體而言, 我認為經(jīng)歷了以下發(fā)展階段:
我認為, 前后端分離是必然的趨勢, 切看我的分析.
Web 剛興起的時(shí)候, 它真的只是 "Web", 它只管瀏覽器的渲染, 大家頭疼的只是各家瀏覽器的兼容性問(wèn)題. 于是乎, jQuery, Bootstrap 等和它們的組件們層出不窮, 來(lái)解決這類(lèi)問(wèn)題.
隨著(zhù) Web3.0 的到來(lái)( 我參考 <文明之光> 發(fā)明的詞, 意指移動(dòng)端 Web 的起步 ), 我們發(fā)現, 現在的問(wèn)題不是瀏覽器的問(wèn)題了, 而是伴隨著(zhù)各種各樣的屏幕, 以及各種各樣的嵌入Web. 而且, 最擅長(cháng)構建界面的 Web 技術(shù)還沒(méi)有打入 APP 陣營(yíng).
我們以前的經(jīng)驗似乎都不夠用了, 但是, 我們發(fā)現, 如果不把瀏覽器當瀏覽器, 而把它們當作數據處理層( 這要求瀏覽器擁有很高的計算能力, 以前這不可想像, 而但是, 一個(gè) iPhone5 的手機處理能力超過(guò)幾年前的一個(gè) PC ), 服務(wù)器只提供數據( 目前最流行的方案即 Restful API ), 如此, 我們就可以解決 Web3.0 下的主要的問(wèn)題:
通過(guò)這樣的革新, Web 技術(shù)自然而然滲入到原生 App 的領(lǐng)域. 其優(yōu)勢在于:
既然如此, 是時(shí)候影響到原有的 Web 開(kāi)發(fā)技術(shù)了:
在 Web3.0 的發(fā)展下, 傳統的 MVC 框架, 會(huì )轉變?yōu)榍昂蠖朔蛛x的開(kāi)發(fā)方式. 這樣, 你就可以學(xué)一次, 到處用.
AngularJS 是一個(gè)類(lèi)似于 Rails 的全棧式的前端框架, 它擁有自己的路由, 控制器, 作用域, 和組件, 非常適合作為前端的全?;A框架. 而 Ionic 正是基于它而完成一個(gè)框架:
Ionic 的技術(shù)構成為:
Ionic 工作流非常簡(jiǎn)單:
ionic start myapp [template]ionic platform add iosionic build iosionic emulate ios一些國內的例子:
就在最近, Ionic 上線(xiàn)了 LiveReload 功能, 你可以在模擬器與測試機器( 沒(méi)錯, 是你的手機 )上, 得到實(shí)時(shí)的代碼刷新功能.( 此刻, 我想, 真正的 iOS 工程師還在編譯他們的 xcode 吧.)
如果你就是工程師, 馬上去試試吧: http://ionicframework.com/getting-started/
在這個(gè)領(lǐng)域, Ionic 的野心就跟 Web2.0 時(shí)代的集大成者 Rails 一樣大, 都想建立整個(gè)開(kāi)發(fā)流的生態(tài)環(huán)境.
一旦你的團隊計劃一并開(kāi)發(fā) APP, Web APP, 以及網(wǎng)站, 那么, 最佳的選擇即是一套前后端分離的技術(shù)棧, 它可能是這樣:
現在, 我們可以不再使用傳統的 MVC 框架的 Web 開(kāi)發(fā)工作流, 而只需要關(guān)心前后端分離后的工作流:
你既不需要學(xué)習傳統的 MVC 中的 復雜的 form 處理流程, 也不用關(guān)心 session, cache 等在 Web3.0 不存在的問(wèn)題, 只需要關(guān)注好前后端分離之后的問(wèn)題即可:
最后, 使用 AngularJS 與 Ionic, 運用同一種思想開(kāi)發(fā) APP 與網(wǎng)站, 這就是:
Learn Once, Use Anywhere.
聯(lián)系客服