轻应用框架, Clouda先行
1.???Clouda到底是什么東東?
隨著各家網站以及論壇上越來越多的談論JavaScript, 并且隨著chrome,?V8引擎, Node.js等的流行,大家也越來越關注并開始學習JavaScript開發框架, 一個好的開發框架可以幫助開發者節省大量的時間。 面對擁有眾多攻略的國外MVC框架,相信很多人堵已經嘗試過了。 這里筆者給大家介紹一款國內的框架, 也可以說是國內先行者中的翹楚-百度Clouda。它也是筆者在研究js框架時的最好的助手和老師。 其實在8月22日當百度通過百度大會向大家拋出“輕應用”和Clouda框架的概念之后, 在業界就引起了不小的轟動, 好多開發者已經開始躍躍欲試。 那么到底Clouda是什么呢?它對咱們到底有啥用呢?懷著好奇的心情, 我們首先來看一下clouda的官方解釋, 打開Clouda的官方首頁你就會從最醒目的位置看到一條介紹:簡單的, 可依賴的實時JavaSscript開發框架, 而且它是國內第一款云端統一框架。
?
2.???為什么要選擇Clouda
在筆者的使用過程中, 深刻體會到了它的跨終端、入門簡單、云端統一、高速實時編程、隨動反饋、可檢索、一鍵托管、SEO能力等眾多特性。 更關鍵的是Clounda完全免費與開源,其采用MIT協議,全部代碼托管在Github上, 對咱們以后得商業部署也不會產生任何麻煩。作為沒有多少資金, 精力有限的個人開發者, 以及中小開發者, 這一點尤為關鍵。同時我在選擇Clouda框架的時候也考慮到Clouda順應了 使用Web技術開發App的新趨勢,開發者只需了解JavaScript的基礎知識即可進行Web應用的開發。同時,基于Clouda開發出來的Web應用可以調用設備的陀螺儀、相機、麥克、GPS等native功能,使得Web應用不再被拘束于純網頁,這一點著實難能可貴。而且由于基于GoogleV8這個成熟的引擎,Clouda不會有存在明顯的性能問題,還有更大的安卓市場。同時,Clouda同百度云服務無縫連接,開發者通過Clouda開發的服務可以直接發布在百度的BAE平臺(非常簡單),同時可以更快速的結合百度云來實現人臉辨認和聲音辨認等功能,而且由于綁定百度的智能搜索,使用Clouda開發的應用可以獲得更多的曝光率, 便于市場推廣。筆者也在自己的開發過程中, 盡量多的應用嵌入式方面的功能,當然這方面還有很大的進步空間。
3.???Ubuntu下Clouda安裝及環境的搭建
在各種linux版本中, 筆者對Ubuntu情有獨鐘, 所以這里開發環境的搭建也是以Ubuntu作為操作系統, 其它的linux版本略有不同。 由于Clouda是基于node.js的Webapp開發框架,在使用Clouda時首先需要安裝node.js和MongoDB。 這里筆者就從note.js和MongoDB開始和大家一起在Ubuntu上搭建Clouda的開發環境, 過程非常簡單, 也比較適合個人開發者和中小團隊。 對于大公司, 遷移現有工程也不會有太大的問題。 尤其隨著MangoDB在在線站點,廣告平臺,手機wap應用領域的廣泛應用, 相信更多的公司也會分享出更多的范例讓大家來學習。
1.? 安裝node.js
·????????下載地址http://nodejs.org/download/, 選擇LinuxBinaries (.tar.gz), 并根據自身系統選擇64位或者32位。(如果用戶從chrome瀏覽器打開下載頁面, 直接點擊Install, 瀏覽器會自動下載相應的安裝包)
·????????把安裝包放在你的工作文件夾, 譬如/home/abc/node-v0.10.21.tar.gz,然后gunzipand tar-xvf來解壓縮生成node-v0.10.21文件夾, 進入node-v0.10.21文件夾, 執行如下命令, 如果遇到任何Error可能是一些相關的程序沒有安裝, 如curl, g++等
./config
Make
Make install
?
2.? 在本地Clouda使用mongoDB作為數據庫, 下面我們再簡單介紹一下如何安裝mongoDB。 相信很多做web開發的人對mongoDB一定很熟悉了。
·????????下載mongoDB,地址:http://www.mongodb.org/downloads
·????????解壓下載的文件夾,進入解壓后的目錄,在目錄下創建"data"目錄,并在創建的"data"目錄下創建"db"文件夾
·?????????進入根目錄下的bin/,使用下面的命令啟動MongoDB
·????????sudo ./mongod -dbpath ../data/db
·????????其實更好的方式是根據各個Linux操作系統版本來安裝, 譬如筆者的Ubuntu系統, 就最好按照http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ 的方式安裝MangoDB
o???安裝MongoDB public GPG Key
sudoapt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
o???在source list里面添加mongodb.list
echo'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudotee /etc/apt/sources.list.d/mongodb.list
o???reload your repository
sudoapt-get update
o???加載安裝包, 如果沒問題的話就安裝成功了
sudoapt-get install mongodb-10gen
o??用下面的命令啟動mangodb service
sudo service mongodb start
?
?
3.? 安裝運行Clouda(需要注意的是如果你使用proxy代理的話, 需要把代理關掉, 目前至少在我的機器上有時候會遇到因為代理的連接問題)
·???????? 安裝sudo npm install -g sumeru ·???????? 創建工程sumeru init ./myproject ·???????? 運行cd myproject sumeru start 在Clouda框架中有一個itworks的實例,可以在瀏覽器中輸入localhost:8080/debug.html/itworks來運行, 當網頁中顯示ItWorks時候, 一切就okay了。 總體來說, 非常過程非常的簡單直接。 ??
4.???Clouda開發入門
簡單的一些步驟完成安裝后, 你會看到Clouda的目錄樹結構如下, 非常清晰, 應用程序, 配置文件, 文檔, 源代碼文件, 庫文件等等, 非常易于管理。
相信每一個開發者在遇到一個新語言, 新框架, 新開發環境的時候, 第一想到嘗試的就是HelloWorld了, 就像新生兒開始認識世界一樣, 我的第一個程序也是先從HelloWorld開始, 其實第一個程序相當簡單, 你也可以自己重寫一個, 也可以利用ItWorks直接替換掉text部分生成, 下面我們就簡單介紹一下.
(1)在app/controller/下創建helloworld.js文件,輸入以下代碼(controller全部放在controller目錄下, 如果你對controller的概念不是很了解, 請參考MVC模型文檔):helloworld.js
sumeru.router.add(
??? {
??????? pattern: '/helloworld',
??????? action: 'App.helloworld'
??? }
? );
通過router添加一個URL與Controller的映射關系,指導網頁需要做一個什么樣的操作。 繼續在helloworld.js輸入以下代碼。
App.helloworld =sumeru.controller.create(function(env,session){
??? env.onrender = function(doRender){
???????doRender("helloworld",["push", "left"]);
??? };
});
env.onrender()方法是完成對view(界面)的渲染
(2)打開app/controller/package.js,該文件用于將文件之間的依賴關系添加到Clouda中在package.js中, 將itworks.js改成你新添加的文件名helloword.js
sumeru.packages(
???'helloworld.js'
????? );
?
package.js用于將文件之間的依賴關系添加到sumeru中, 開發者可以在package.js文件中同時添加多個packages, 如下所示
sumeru.packages(
???'student.js',
???.....
?
???'studentList.js'
?)
?
(3)在app/view/下創建helloworld.html,并輸入以下代碼
在helloworld.html文件中輸入如下html代碼標簽
<p>Hello World!</p>
Note: 一般情況下將編寫的View文件都存放在app/view文件夾下,如果編寫的view文件不在app/view文件夾下,Clouda也提供View文件路徑配置的方法,框架會在配置路徑先尋找需要的View文件:
sumeru.config.view.set('path','path/to/');
則Clouda會在如下目錄中加載視圖:
app目錄/path/to/view/
?
至此,"HelloWorld"應用代碼已經完成。
在瀏覽器中輸入localhost:8080/debug.html/helloworld運行該應用,chrome和firefox打開都沒有問題。
我們這里只是一個簡單的HelloWorld程序并做了一些簡單的解釋。 如果你想更深入的研究Clouda可以訪問Clouda的官網http://cloudajs.org/查看更多的文檔。 當然如果你已經開發除了一款自己的app,你也可以將你的Clouda應用托管到百度BAE上去。Clouda是基于node.js開發的,所以需要node.js環境以及需要數據庫的支持,百度開發者中心上BAE提供整套的環境的支持,只需簡單的配置就可以快速運行基于Clouda開發的應用。
總之它的核心在于云、端使用統一的Javascript語言, 便于在各個平臺上部署和應用, 減少代碼的開發量和邏輯的復雜度, 所見即所得, 易于調試和部署。 同時在云環境中, 可以運用版本管理, 執行環境管理等各種工具, 不僅節約成本而且很適合幾個人合作開發。 對于我等無米青年著實是很大的福利啊。
5.???一些常用名詞解釋
SEO全稱:Search Engine Optimization,即搜索引擎優化。,是指為了從搜索引擎中獲得更多的免費流量,從網站結構、內容建設方案、用戶互動傳播、頁面等角度進行合理規劃,使網站更適合搜索引擎的檢索原則的行為。
?
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用于組織代碼用一種業務邏輯和數據顯示分離的方法,這個方法的假設前提是如果業務邏輯被聚集到一個部件里面,而且界面和用戶圍繞數據的交互能被改進和個性化定制而不需要重新編寫業務邏輯。MVC被獨特的發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。
總結
以上是生活随笔為你收集整理的轻应用框架, Clouda先行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 统计学基础--假设检验
- 下一篇: 百度云开发clouda学习(一)