html可視化開發(fā)工具 現(xiàn)在流行的前后端分離項(xiàng)目都使用的是什么前后端框架?
現(xiàn)在流行的前后端分離項(xiàng)目都使用的是什么前后端框架?開發(fā)框架主要分三塊,前端,web和持久化,三者是可以自由組合的。我分開來說。web框架以前Java web框架還有struts1,struts2,sp
現(xiàn)在流行的前后端分離項(xiàng)目都使用的是什么前后端框架?
開發(fā)框架主要分三塊,前端,web和持久化,三者是可以自由組合的。我分開來說。
web框架
以前Java web框架還有struts1,struts2,springMVC可以選。
目前只有一個(gè)選擇:SpringMVC,其它一個(gè)能打的都沒有。無論是Play,GOG這類快速開發(fā)框架,還是spark(此spark非彼spark)這類輕量級開發(fā)框架,或者struts2這樣的競爭對手。無論從使用人數(shù)還是生態(tài)上來看,和SpringMVC都不是一個(gè)量級。
其它框架宣傳得再怎么好,都不建議投入大量精力。學(xué)習(xí)框架的設(shè)計(jì)思路可以,生產(chǎn)環(huán)境使用請直接使用SpringMVC。Spring系的基礎(chǔ)設(shè)施不是其它框架可比擬的。要快速開發(fā)可以使用springboot,只需要pom依賴 一個(gè)enable注解就可以直接使用。
持久化框架
目前主流的有兩個(gè)JPA和MyBatis。
如果項(xiàng)目是數(shù)據(jù)建模,那么使用Mybatis;如果項(xiàng)目是對象建模,那么使用JPA。
這里還要提一下Spring。SpringBoot的spring-data子項(xiàng)目應(yīng)該是想統(tǒng)一這兩者。不止是這兩者,它的野心更大,想統(tǒng)一所有的持久層,db,redis,elasticsearch全部都有對應(yīng)的項(xiàng)目。它想將所有的持久化操作都抽象為Repository操作。如果成功的話,業(yè)務(wù)邏輯中就完全不需要關(guān)心持久層選型了,切換框架也很方便。
前端框架
前端框架目前有三個(gè)可選項(xiàng)react,ag和vue。
react的語法個(gè)人很不喜歡,直接pass。。。。
ag國內(nèi)熱度好像不高,沒太關(guān)注。
最終選的是vue,簡單上手快。配套u(yù)i庫也比較完善了。
如果項(xiàng)目中要開發(fā)小程序,建議使用vue,語法高度一致,會vue瞄一眼就知道怎么開發(fā)小程序了。
用Django做web前端如何?
先回答問題,Django不適合做web前端,Django用于做web的后臺。web前端普遍使用基于jquery的框架完成。我曾將使用Django寫過幾個(gè)網(wǎng)絡(luò)管理程序。下文具體說一說。
Django用來做什么
Django是Python編寫的開源web應(yīng)用框架,采用了MVC的模式,方便快速構(gòu)建web應(yīng)用程序;
Django主要由三個(gè)層次組成,template層用于實(shí)現(xiàn)與前臺的交互,收集前端發(fā)送的數(shù)據(jù);control層用于處理用戶數(shù)據(jù),實(shí)現(xiàn)業(yè)務(wù)邏輯;model層用于實(shí)現(xiàn)與數(shù)據(jù)庫的連接,將數(shù)據(jù)持久化;
Django的使用非常方便的,集成了大部分的常用功能,用戶不用專門處理session,用戶登陸等應(yīng)用。
前臺怎么寫
web應(yīng)用程序的前臺使用基于jquery的框架完成,jquery是使用javascript腳本需要編寫的,簡化了用戶的編程的難度;
在構(gòu)建web應(yīng)用時(shí),我用的是easyui框架,集成了大部分的控件,比如文本框,各種按鈕,并且有布局功能,可以快速勾畫web應(yīng)用界面。
讀書時(shí)我曾經(jīng)使用java編寫web應(yīng)用,工作后接觸了python,簡單易用,可以快捷構(gòu)建應(yīng)用,后來使用django框架,將平時(shí)編寫的小應(yīng)用合并成一個(gè)可視化的的網(wǎng)絡(luò)運(yùn)維平臺。
好多高職院校老師還在教jsp,網(wǎng)上很多開發(fā)說jsp已入土,你怎么看?
本來就已入土啊,高校機(jī)動性較差,尤其一般的學(xué)校,跟進(jìn)時(shí)代的速度較慢,看你想怎么學(xué),如果說扎扎實(shí)實(shí)打好基礎(chǔ),啥都學(xué),那你是該學(xué)jsp,還有底層內(nèi)核,再甚匯編。。。這屬于從下到上學(xué)習(xí)。如果你要快速上崗,直接學(xué)項(xiàng)目需要用到的東西,現(xiàn)在的模式是mvvm,jsp還真的用不到,前端vue,后端springboot提供接口,完全分離,他們之間用ajax通訊,這是現(xiàn)在的模式。先上了崗,然后再慢慢解決并學(xué)習(xí)其中的問題,慢慢了解機(jī)制,底層等等,這屬于從上到下學(xué)習(xí)。我推薦后者,因?yàn)槿绻悴获R上介入項(xiàng)目看到成果,很容易你的興趣就沒了。
Vue被淘汰了嗎?
我今天才開始去了解Vue-cli 3.0,著手寫了一個(gè)demo下來發(fā)現(xiàn),簡直驚為天人,拋棄了2.x版本繁瑣的webpack配置,現(xiàn)在的可以說簡潔明了,你甚至不用寫vue.config.js也行,空著唄,反正無傷大雅,但如果你配置一下你會發(fā)現(xiàn)也并不麻煩。
在我知道的知識范圍內(nèi),應(yīng)該是沒有比這個(gè)腳手架更能快速直接地反應(yīng)出數(shù)組或?qū)ο笞兓牧恕?/p>
此外,語法糖基本沒有很大變化,以前該怎么用現(xiàn)在還怎么用,只是性能優(yōu)化和語法糖很多了。講真,我完全找不到vue-cli3.0致命的坑。
然后,我還看到有人為jq打抱不平,我在一年半以前基本都是用jq寫的,那時(shí)候覺得jq是js最好的框架,實(shí)在太方便了,操作dom也實(shí)在太爽了,直到我某次寫一個(gè)排課項(xiàng)目卡了殼。。。
隨后我就轉(zhuǎn)小程序了,發(fā)現(xiàn)小程序的寫法不就是vue么。。。尤其是組件的寫法。。。
講到底,vue被淘汰有點(diǎn)難,畢竟這個(gè)時(shí)代是操作數(shù)據(jù)的時(shí)代,已經(jīng)不是dom操作的天下了。
最后,我覺得你不應(yīng)該拘泥于前端框架,就算以后會出現(xiàn)更先進(jìn)的框架,充其量也還是js,我實(shí)在想不出在框架這方面還能玩出什么花了。大概es會慢慢參考這些框架,然后自己變成如此也說不定。就比如當(dāng)年你能想到j(luò)s里面還能寫class來繼承?我第一次看到還以為是java。。。但現(xiàn)在不也就支持了么。。。
所以為什么不把目光放向后端?node都熟練了嗎?deno了解過嗎?php入門了嗎?python好歹掌握一下吧?這些語言我相信以后會慢慢出現(xiàn)在前端必會知識點(diǎn)里面(雖然php已經(jīng)是了,但感覺過氣了啊,說好的php是世界上最好的語言呢。。。)
怎么看待一些后端程序員不寫接口文檔,老是以很忙為借口搪塞?
感謝邀請!
不寫接口文檔,一般都是很忙?;蛘邲]有空閑的時(shí)間去梳理文檔。
前后端對接,一般前段開發(fā)人員一般都需要后端人員提供接口文檔,但是現(xiàn)在swagger文檔已經(jīng)完全可以提供該功能。很多情況下后端開發(fā)程序員集成一個(gè)swagger進(jìn)去,會自動生成相應(yīng)的文檔。
可以給后端開發(fā)人員一定的時(shí)間去學(xué)習(xí)swagger或者集成swagger進(jìn)項(xiàng)目。