當(dāng)看到這個(gè)問題之前,我也碰到過很多有同樣疑惑的同學(xué),他們都有一個(gè)共同的疑問該學(xué)php還是nodejs,包括我自己也曾有過同樣的經(jīng)歷。幸運(yùn)的是,通過我內(nèi)心的掙扎和對(duì)當(dāng)前市場(chǎng)供需關(guān)系以及行業(yè)發(fā)展前景的綜合衡量評(píng)估后,我還是在接觸了java, php之后回到j(luò)s這片天空上來了。一方面是客觀因素,一方面是興趣導(dǎo)致的,前端太好玩了,值得為此奉獻(xiàn)一點(diǎn)激情或青春。
其實(shí)這也是一個(gè)開發(fā)者成長(zhǎng)必須經(jīng)歷的一個(gè)洗禮,一個(gè)磨難,一個(gè)挑戰(zhàn),他是一個(gè)必然的過程。很多人不差智商,不輸情商,四肢健全,就是學(xué)不好一門語(yǔ)言。我認(rèn)為最主要還是敗在了堅(jiān)持,專注上面了。經(jīng)受不住內(nèi)心私欲或其它語(yǔ)言的誘惑,都一一敗下陣來。
關(guān)于html5,他是個(gè)新東西嗎?是新瓶裝老酒而已,有實(shí)際處理問題的經(jīng)驗(yàn),可以平滑的過渡,學(xué)習(xí)成本很低,但并不表示沒有。
然后說了解后臺(tái)語(yǔ)言,到底要了解到什么程度呢?
其實(shí)說后臺(tái)語(yǔ)言,其實(shí)他包括兩類語(yǔ)言,一個(gè)叫操作數(shù)據(jù)庫(kù)的語(yǔ)言,比如java,php,nodejs,ruby,python,c#等等。一個(gè)叫數(shù)據(jù)庫(kù)操作語(yǔ)言,比如sql,包括insert,update,select,delete四個(gè)動(dòng)作。所有的頁(yè)面的一切數(shù)據(jù)交互都基于這四個(gè)操作。從我個(gè)人的經(jīng)歷推薦兩本書:php與mysql程序設(shè)計(jì),第四版,細(xì)說php,第二版。這兩本都是比較全面的介紹了php,包含了php基本概念與mysql的知識(shí),但都比較淺顯,入門而已。
到現(xiàn)在你會(huì)發(fā)現(xiàn),其實(shí)從前端的角度出發(fā),語(yǔ)言有三種:操作數(shù)據(jù)庫(kù)的語(yǔ)言,數(shù)據(jù)庫(kù)操作語(yǔ)言,操作dom的js。然后就有方向了,學(xué)了js,學(xué)任何一門操作數(shù)據(jù)庫(kù)的語(yǔ)言(后臺(tái)語(yǔ)言),數(shù)據(jù)庫(kù)操作語(yǔ)言,然后就可以自由組合搭配。而且語(yǔ)言之間有很大的相似性,都可以無縫的跨界。區(qū)別的是語(yǔ)言開發(fā)的所依賴平臺(tái),比如c#依賴于.net,php經(jīng)常與apache,mysql結(jié)合,java依賴于jdk等等的。開發(fā)工具也各有不同,比如vs,phpstorm、zendstudio, intellij idea, eclipse等等。但他們的api卻很像似,粗暴點(diǎn)說,你抄我我抄你,你中有我,我中有你。
從前端的角度出發(fā)我推薦2門語(yǔ)言:php,nodejs。想照顧一些老的東西,維護(hù)一些老項(xiàng)目,就選php。展望新方向尤其io操作比較頻繁的可以了解一下nodejs。這兩個(gè)語(yǔ)言各有所長(zhǎng),只是nodejs從語(yǔ)法上來說跟js是無縫的。php的oop跟接近于java的純oop風(fēng)格。但這2個(gè)從操作sql的方面來說,有很大的相似性。按照這個(gè)結(jié)論下來,無論選nodejs,php都可以,可以從主觀上判斷,你更喜歡那個(gè)?;蛘咦鲆粋€(gè)小的留言板,看看那個(gè)更符合你的思維習(xí)慣。
一般的瓶頸就是你得少,建議多寫,用解決實(shí)際問題的經(jīng)驗(yàn)來跨越語(yǔ)言造成的障礙。
建議從以下的順序來鍛煉后臺(tái)語(yǔ)言:
1. 留言板,
2, blog
3. 企業(yè)站,
4. 商城
5. 新聞綜合站。
基礎(chǔ)的入門之后,就是框架了,從我個(gè)人淺顯的了解當(dāng)中,分享一下經(jīng)驗(yàn),大概市面上有這幾個(gè)框架:
1. ci 經(jīng)典的輕巧框架,在全球的使用量比較靠前,入門比較簡(jiǎn)單。
2. thinkphp,國(guó)內(nèi)人用的比較多,是國(guó)人開發(fā),現(xiàn)在勢(shì)頭真猛,比ci封裝的更好,也更傻瓜。
3. yii,這個(gè)是目前全球排名第一的框架,但是入門曲線稍高。
4. zend frame這是有php組織開發(fā)的框架,文檔比較規(guī)范,也比較重,適合構(gòu)建大型項(xiàng)目。
5. laravel 這是一個(gè)呼聲比較好的一個(gè)新型框架,借鑒了Symphony,各方面比較優(yōu)秀,博眾家之所長(zhǎng),但是相對(duì)中文資料比較少。
等這些了解了,估計(jì)已經(jīng)入門了,學(xué)習(xí)應(yīng)該找到具體的方向了。另外兄弟連的視頻教程,質(zhì)量一般,勝在量多,從基礎(chǔ)到框架,應(yīng)有僅有,最主要是免費(fèi)。
然后回歸正題,只是建議你了解,點(diǎn)到為止,了解是為了把前端干的更好。那什么時(shí)候真正的深入學(xué)習(xí)?建議在學(xué)好js的前提之下,吃透js。
比如了解js的作用域,閉包,原型,繼承,尤其是作用域與面向?qū)ο笫莏s的特色也是與任何一門后臺(tái)語(yǔ)言比較容易混淆的兩個(gè)地方。
請(qǐng)向各個(gè)業(yè)界js大??雌穑灰欢ǚ且敲瓷畹纳疃龋欢ㄟ_(dá)到自己力所能及的高度。
比如有個(gè)自己的框架,如司徒正美avlon,比如有一個(gè)自己寫的小框架,如玉伯的seajs等等。
另外我個(gè)人的經(jīng)驗(yàn):學(xué)什么語(yǔ)言不重要,重要的是趨勢(shì)你學(xué)語(yǔ)言的動(dòng)力,說白了真正的需求來自那些。我認(rèn)為需求有兩方面。一方面是內(nèi)在主動(dòng)型的。比如js學(xué)習(xí)到一定的程序,寫了很多demo或想法需要用更個(gè)性化的方式來呈現(xiàn),這時(shí)候需要建一個(gè)個(gè)人網(wǎng)站或博客來管理你的內(nèi)容。這時(shí)候才選擇語(yǔ)言,了解需求產(chǎn)生,開發(fā),發(fā)布上線的流程,對(duì)你以后的前端工作也是有幫助的。另外一個(gè)是外在被動(dòng)型的,比如同學(xué),家鄉(xiāng)的朋友,需要你幫忙做一個(gè)企業(yè)網(wǎng)站,小的電商網(wǎng)站來做為他們初期企業(yè)文化愿景宣傳的一個(gè)互聯(lián)網(wǎng)通道,這時(shí)候就是一個(gè)外在的需求。拿我個(gè)人經(jīng)驗(yàn)來說,我的php經(jīng)驗(yàn)完全是來自于一次接私單的經(jīng)歷。雖然那次私單以失敗而告終,但我在一個(gè)月的業(yè)余時(shí)間里邊徹底的了解了php的開發(fā)方式,語(yǔ)言特征,后來根據(jù)這個(gè)基礎(chǔ)我成功的開發(fā)上線了另外一個(gè)朋友的個(gè)人網(wǎng)站:http://jing-ui.com,這個(gè)網(wǎng)站的開發(fā)心得一直想寫,但機(jī)會(huì)不湊巧,只能說敬請(qǐng)期待。明確一個(gè)自己感興趣的目標(biāo)之后,在選擇語(yǔ)言,以興趣引導(dǎo)語(yǔ)言,學(xué)習(xí)才有動(dòng)力。比如做網(wǎng)站,那可能就是php,nodejs,做個(gè)簡(jiǎn)單的blog,在實(shí)踐中慢慢了解語(yǔ)言,在學(xué)習(xí)中慢慢成長(zhǎng)。 nodejs或php都有各自的應(yīng)用場(chǎng)景,要么選一個(gè)公司現(xiàn)在用的,要么選擇一個(gè)適合自己思維的。
如果你學(xué)會(huì)了其中的一個(gè),然后在去了解其它的,可以說,入門會(huì)很快,因?yàn)槔镞呌泻芏嘞嗤臇|西。
最后總結(jié)一下我個(gè)人的心得:每個(gè)人都有好奇之心,這對(duì)做技術(shù)的來說并不是什么壞事,正因?yàn)檫@顆好奇之心,不斷的帶領(lǐng)向前邁進(jìn)。另外了解一下滿足一下好奇心沒什么不好。就如同我當(dāng)時(shí)學(xué)習(xí)php一樣,感覺學(xué)習(xí)之后有多牛B,真正的學(xué)習(xí)后做了一個(gè)網(wǎng)站出來之后發(fā)現(xiàn),確實(shí)收獲不少,對(duì)前端也有幫助。但是js的水平還是在原地,除了擅長(zhǎng)使用jquery之外,并沒有太多的擅長(zhǎng)。
到目前為止我感覺,還沒有達(dá)到一個(gè)自己滿意的力所能及的高度,努力中。但人的精力是有限的,能力是有限的,在有限的精力里邊把一件事情做好就已經(jīng)很不錯(cuò)了。
-
工程師
+關(guān)注
關(guān)注
59文章
1603瀏覽量
71210 -
前端
+關(guān)注
關(guān)注
1文章
245瀏覽量
18848 -
HTML
+關(guān)注
關(guān)注
0文章
280瀏覽量
49513 -
HTML5
+關(guān)注
關(guān)注
0文章
75瀏覽量
18524 -
node
+關(guān)注
關(guān)注
0文章
30瀏覽量
6422
發(fā)布評(píng)論請(qǐng)先 登錄
研發(fā)工程師和測(cè)試工程師對(duì)于產(chǎn)品新功能的見解有何不同?#電子工程師 #電路知識(shí) #人工智能
電子工程師的雙標(biāo)瞬間 #電子 #電子愛好者 #電子工程師 #揚(yáng)興科技 #雙標(biāo)
什么是BSP工程師
想成為硬件工程師?我教你??!你得先學(xué)會(huì)這些...... #硬件工程師 #電子工程師 #電子愛好者 #電子行業(yè)
硬件工程師面試必會(huì):10個(gè)核心考點(diǎn)#硬件設(shè)計(jì) #硬件工程師 #電路設(shè)計(jì) #電路設(shè)計(jì)
作為一名PCB質(zhì)檢工程師,我為什么在用手持式面銅測(cè)試儀?
工程師福音!CCLinkie轉(zhuǎn)Modbus RTU讓粉塵監(jiān)測(cè)不再“揚(yáng)灰”
流量計(jì)連接神器 CClinkie轉(zhuǎn)Modbus RTU:工程師的「斷舍離」指南
CCLink IE轉(zhuǎn)Ethernet/IP網(wǎng)關(guān),這波協(xié)議轉(zhuǎn)換操作工程師看了都點(diǎn)贊!
硬件工程師看了只會(huì)找個(gè)角落默默哭泣#硬件工程師 #MDD #MDD辰達(dá)半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師
工程師的“新神器”:用CCLinkie轉(zhuǎn)Devicenet連接水質(zhì)分析儀,輕松搞定數(shù)據(jù)難題
電表“雙語(yǔ)”教學(xué):PEOFINET轉(zhuǎn)CCLINKIE的神仙聯(lián)動(dòng)
前端工程師應(yīng)該往node方面轉(zhuǎn)還是往HTML5方面轉(zhuǎn)
評(píng)論