大數(shù)據(jù)方向發(fā)展更有前景,首先5G馬上就要普及,5出現(xiàn)之后,數(shù)據(jù)量將會(huì)大大增加,大數(shù)據(jù)的需求,就會(huì)隨之增加。
net的開(kāi)發(fā),感覺(jué)公司用的還是比較少,python, 很少做后端,后端有很多語(yǔ)言Java和p HP, python一般做一些爬蟲工作,最后的也可以,但很少使用它專門做這個(gè)。
看你做啥了,做web還是做winform做web的話,你首先要熟悉html、css、javascript,這些是做web都必須懂得,不管是用.net 、java還是php都一樣其次你要選擇開(kāi)發(fā)方式,.net開(kāi)發(fā)web有兩種方式,一種是webform,一種是mvc,前者是.net獨(dú)有的,目前用的比較多;后者主要是為了方便從java平臺(tái)轉(zhuǎn)過(guò)來(lái)的同志,是向java借鑒了部分思想再次是數(shù)據(jù)庫(kù)相關(guān)知識(shí),最起碼會(huì)簡(jiǎn)單的數(shù)據(jù)庫(kù)操作,會(huì)寫sql語(yǔ)句(或者會(huì)Linq,這個(gè)也是.net獨(dú)有的,為了方便不會(huì)使用sql的人)
最后是比較高級(jí)的東西,比如各種網(wǎng)絡(luò)協(xié)議(一般web開(kāi)發(fā)用http協(xié)議)、網(wǎng)站安全、數(shù)據(jù)庫(kù)性能、web請(qǐng)求機(jī)制等等會(huì)前三項(xiàng)就可以開(kāi)發(fā)一般的小網(wǎng)站了
現(xiàn)在通過(guò)我的經(jīng)驗(yàn),來(lái)給你講一講前端和后端如何完成集成。
前端和后端都會(huì)遵照一套數(shù)據(jù)模型定義。前段在開(kāi)發(fā)的時(shí)候,會(huì)利用模擬數(shù)據(jù)進(jìn)行開(kāi)發(fā)。前端在開(kāi)發(fā)的時(shí)候就不需要依賴后端的API。
這些模擬數(shù)據(jù)一般來(lái)自于內(nèi)存數(shù)據(jù)庫(kù),就是使用真正的API接口來(lái)獲取數(shù)據(jù),只不過(guò)這個(gè)數(shù)據(jù)不是從遠(yuǎn)程服務(wù)器上獲取,而是通過(guò)本地的內(nèi)存數(shù)據(jù)庫(kù)來(lái)獲取。
這樣子開(kāi)發(fā)出來(lái)的前端,幾乎可以無(wú)縫的與后端API進(jìn)行集成。
當(dāng)然需要一個(gè)參數(shù)變量,或者環(huán)境變量來(lái)設(shè)置是開(kāi)發(fā)環(huán)境還是生產(chǎn)環(huán)境。如果是開(kāi)發(fā)環(huán)境,就直接獲取本地內(nèi)存數(shù)據(jù)庫(kù)。如果是生產(chǎn)環(huán)境,則調(diào)用遠(yuǎn)程數(shù)據(jù)接口。
接下來(lái)說(shuō)一下后端。
后端開(kāi)發(fā)要與前端完全分開(kāi),最好要使用rest API。這樣子可以使每個(gè)接口不存在狀態(tài)的記錄,屬于無(wú)狀態(tài)API。
這樣的API可以讓任何的終端調(diào)用。
因此測(cè)試這樣的API,可以使用任何程序。一般常用的比如,一些瀏覽器插件postman,rest client。也可以使用一些獨(dú)立的程序。只要可以進(jìn)行HTTP的get,post ,patch, delete, put等操作就可以了。
一般過(guò)程是這樣子的,裝好插件或者程序以后,如果需要的話,設(shè)定輸入?yún)?shù), 然后進(jìn)行相關(guān)的HTTP操作。再查看返回結(jié)果。根據(jù)返回結(jié)果進(jìn)行調(diào)試。
這樣子后端就開(kāi)發(fā)完成了。
在這個(gè)過(guò)程中,不需要前端的參與。
假設(shè)前端的開(kāi)發(fā)任務(wù)已經(jīng)完成,后端的開(kāi)發(fā)任務(wù)也已經(jīng)完成。兩者需要真正的集成測(cè)試一下。
那么前端這一部分只需要打開(kāi)生產(chǎn)環(huán)境變量就可以了。
現(xiàn)在的前后端開(kāi)發(fā)一般都是這么一個(gè)流程。
如果你用的比較老的開(kāi)發(fā)模式,比如ASP dot net mvc或者spring mvc這種前后端,放在一起的。那就邊開(kāi)發(fā)邊集成。不存在前后端分開(kāi)的問(wèn)題。
后面這種模式,開(kāi)發(fā)起來(lái)比較麻煩。如果一個(gè)程序員,只懂的后端,比如c sharp或者Java。他只能等著一個(gè)懂JavaScript, html, css的程序員來(lái)做頁(yè)面部分。在頁(yè)面部分要對(duì)API進(jìn)行調(diào)用。
這個(gè)調(diào)用的框架準(zhǔn)備好以后,后端才可以放開(kāi)手腳,進(jìn)行開(kāi)發(fā)和測(cè)試。
這里面會(huì)造成一些時(shí)間上的浪費(fèi),和工作上的瓶頸。開(kāi)發(fā)效率不是很高。
除非團(tuán)隊(duì)里的程序員都是全棧的程序員。既可以寫頁(yè)面,也可以寫后端編程和數(shù)據(jù)庫(kù)訪問(wèn)交互。這樣子對(duì)程序員的要求有點(diǎn)高。一般來(lái)說(shuō)不太現(xiàn)實(shí)。
總的來(lái)說(shuō),現(xiàn)在業(yè)界比較推崇前端和后端分開(kāi)的方式來(lái)進(jìn)行開(kāi)發(fā)。這樣子開(kāi)發(fā)的好處就是,前端工程師和后端工程師,分的比較開(kāi),招人的成本和花的時(shí)間都還過(guò)得去。
但是有一點(diǎn),整個(gè)項(xiàng)目必須有一個(gè)既懂前端又懂后端的架構(gòu)師或者首席程序員來(lái)把握全局。否則會(huì)比較麻煩。關(guān)于這一點(diǎn),我們?cè)谝院蟮挠懻撝锌梢赃M(jìn)行深入探討。
好,這個(gè)問(wèn)題就先說(shuō)這些吧,可以給我留言,我們可以深入討論,歡迎關(guān)注丁哥開(kāi)講,謝謝。