我目前有一個(gè)用rails3編寫(xiě)的web應(yīng)用程序.我想寫(xiě)一個(gè)基于骨干的js應(yīng)用程序,它將使用rails3服務(wù);雖然有許多帶有rails的骨干的例子,但我更愿意在不同的項(xiàng)目中構(gòu)建它.這個(gè)項(xiàng)目將是純粹的html css js,然后指向其他項(xiàng)目的服務(wù). >這種方法有哪些優(yōu)點(diǎn)或障礙? 我注意到github上的大多數(shù)rails3-backbone項(xiàng)目在幕后做了很多魔術(shù)(例如:預(yù)編譯車把資產(chǎn),自動(dòng)包含js文件),這使得理解所有部分如何協(xié)同工作變得更加困難.另外,如果我想使用phonegap / trigger.io / etc打包應(yīng)用程序,這會(huì)不會(huì)更難? 解決方法: 在編寫(xiě)B(tài)ackbone應(yīng)用程序時(shí),單獨(dú)開(kāi)發(fā)它實(shí)際上很有意義.換句話說(shuō),正如你所說(shuō),開(kāi)發(fā)它作為一個(gè)純粹的html css js應(yīng)用程序. 有很好的理由這樣做: >部署 在部署應(yīng)用程序時(shí)考慮.在某些時(shí)候,您肯定希望部署應(yīng)用程序的某些模塊化組件.這可能是負(fù)責(zé)為您的客戶提供json的后端服務(wù),或者可能是對(duì)UI的調(diào)整.無(wú)論哪個(gè),最好是你能夠獨(dú)立部署它們. 能夠在幕后使用一些魔術(shù)來(lái)幫助開(kāi)發(fā)UI可能聽(tīng)起來(lái)很有吸引力.但是,請(qǐng)考慮項(xiàng)目的模塊化. IMO,Backbone(或任何AJAX應(yīng)用程序)都很漂亮.美麗來(lái)自于UI代碼實(shí)際上與后端的實(shí)現(xiàn)無(wú)關(guān)的事實(shí).它可以與PHP / JAVA / RAILS / PYTHON / YOU-NAME-IT服務(wù)器通信,但它仍然無(wú)關(guān)緊要.也就是說(shuō),如果您正在實(shí)現(xiàn)RESTFUL服務(wù)器.實(shí)際上,UI代碼可以放在NGINX服務(wù)器上,該服務(wù)器只提供靜態(tài)內(nèi)容,它仍可以完美運(yùn)行.這實(shí)際上就是你想要的.您的UI代碼在任何時(shí)候(在開(kāi)發(fā)或生產(chǎn)期間)都不應(yīng)該知道您的后端框架或您的后端支持的任何工具.將不必要的依賴項(xiàng)引入Backbone項(xiàng)目將是一種犯罪行為. 想象一下,有一天,當(dāng)你認(rèn)為適合遷移到不是Rails的不同架構(gòu)時(shí).如果存在任何依賴性,那將是一場(chǎng)噩夢(mèng).更確切地說(shuō),UI具有完全獨(dú)立于后端實(shí)現(xiàn)的UI. 您提到您將使用PhoneGap打包您的應(yīng)用程序.這可能是您的項(xiàng)目應(yīng)該獨(dú)立的最大原因.當(dāng)您說(shuō),將您的應(yīng)用程序提交給Apple時(shí),如果您計(jì)劃這樣做,那么您將無(wú)法從服務(wù)器上加載js.必須將所有腳本打包到App中,該App必須是獨(dú)立的. 最后但同樣重要的是,回答有關(guān)“其他方法”建議的問(wèn)題.這是非常模糊的,所以我不確定這個(gè)建議是否會(huì)有所幫助,但我想指出一些有助于組織Backbone項(xiàng)目的資源,讓您的生活更輕松. 我認(rèn)為這是使用Backbone的最佳方式. RequireJS讓你在js文件中指定你的依賴,就像你在編譯語(yǔ)言中導(dǎo)入一樣,這對(duì)于組織你的Backbone項(xiàng)目和將代碼分解成更小的模塊有很大幫助. requireJS提供的優(yōu)化工具也允許您將所有javascript文件壓縮到一個(gè)文件中.我相信如果您想在PhoneGap中打包您的項(xiàng)目,這將派上用場(chǎng). 你提到過(guò)使用HandleBar.但是,我建議您查看下劃線的模板引擎,該引擎受RoR模板的啟發(fā).假設(shè)您使用Rails非常舒服,那么下劃線模板引擎可能正是您所需要的. 來(lái)源:https://www./content-1-268651.html |
|
來(lái)自: 印度阿三17 > 《開(kāi)發(fā)》