當(dāng)看到這個(gè)問(wèn)題之前,我也碰到過(guò)很多有同樣疑惑的同學(xué),他們都有一個(gè)共同的疑問(wèn)該學(xué)php還是nodejs,包括我自己也曾有過(guò)同樣的經(jīng)歷。幸運(yùn)的是,通過(guò)我內(nèi)心的掙扎和對(duì)當(dāng)前市場(chǎng)供需關(guān)系以及行業(yè)發(fā)展前景的綜合衡量評(píng)估后,我還是在接觸了java, php之后回到j(luò)s這片天空上來(lái)了。一方面是客觀因素,一方面是興趣導(dǎo)致的,前端太好玩了,值得為此奉獻(xiàn)一點(diǎn)激情或青春。
其實(shí)這也是一個(gè)開發(fā)者成長(zhǎng)必須經(jīng)歷的一個(gè)洗禮,一個(gè)磨難,一個(gè)挑戰(zhàn),他是一個(gè)必然的過(guò)程。很多人不差智商,不輸情商,四肢健全,就是學(xué)不好一門語(yǔ)言。我認(rèn)為最主要還是敗在了堅(jiān)持,專注上面了。經(jīng)受不住內(nèi)心私欲或其它語(yǔ)言的誘惑,都一一敗下陣來(lái)。
關(guān)于html5,他是個(gè)新東西嗎?是新瓶裝老酒而已,有實(shí)際處理問(wèn)題的經(jīng)驗(yàn),可以平滑的過(guò)渡,學(xué)習(xí)成本很低,但并不表示沒(méi)有。
然后說(shuō)了解后臺(tái)語(yǔ)言,到底要了解到什么程度呢?
其實(shí)說(shuō)后臺(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ì)說(shuō)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ǔ)言之間有很大的相似性,都可以無(wú)縫的跨界。區(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)說(shuō),你抄我我抄你,你中有我,我中有你。
從前端的角度出發(fā)我推薦2門語(yǔ)言:php,nodejs。想照顧一些老的東西,維護(hù)一些老項(xiàng)目,就選php。展望新方向尤其io操作比較頻繁的可以了解一下nodejs。這兩個(gè)語(yǔ)言各有所長(zhǎng),只是nodejs從語(yǔ)法上來(lái)說(shuō)跟js是無(wú)縫的。php的oop跟接近于java的純oop風(fēng)格。但這2個(gè)從操作sql的方面來(lái)說(shuō),有很大的相似性。按照這個(gè)結(jié)論下來(lái),無(wú)論選nodejs,php都可以,可以從主觀上判斷,你更喜歡那個(gè)。或者做一個(gè)小的留言板,看看那個(gè)更符合你的思維習(xí)慣。
一般的瓶頸就是你得少,建議多寫,用解決實(shí)際問(wèn)題的經(jīng)驗(yàn)來(lái)跨越語(yǔ)言造成的障礙。
建議從以下的順序來(lái)鍛煉后臺(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)力,說(shuō)白了真正的需求來(lái)自那些。我認(rèn)為需求有兩方面。一方面是內(nèi)在主動(dòng)型的。比如js學(xué)習(xí)到一定的程序,寫了很多demo或想法需要用更個(gè)性化的方式來(lái)呈現(xiàn),這時(shí)候需要建一個(gè)個(gè)人網(wǎng)站或博客來(lái)管理你的內(nèi)容。這時(shí)候才選擇語(yǔ)言,了解需求產(chǎn)生,開發(fā),發(fā)布上線的流程,對(duì)你以后的前端工作也是有幫助的。另外一個(gè)是外在被動(dòng)型的,比如同學(xué),家鄉(xiāng)的朋友,需要你幫忙做一個(gè)企業(yè)網(wǎng)站,小的電商網(wǎng)站來(lái)做為他們初期企業(yè)文化愿景宣傳的一個(gè)互聯(lián)網(wǎng)通道,這時(shí)候就是一個(gè)外在的需求。拿我個(gè)人經(jīng)驗(yàn)來(lái)說(shuō),我的php經(jīng)驗(yàn)完全是來(lái)自于一次接私單的經(jīng)歷。雖然那次私單以失敗而告終,但我在一個(gè)月的業(yè)余時(shí)間里邊徹底的了解了php的開發(fā)方式,語(yǔ)言特征,后來(lái)根據(jù)這個(gè)基礎(chǔ)我成功的開發(fā)上線了另外一個(gè)朋友的個(gè)人網(wǎng)站:http://jing-ui.com,這個(gè)網(wǎng)站的開發(fā)心得一直想寫,但機(jī)會(huì)不湊巧,只能說(shuō)敬請(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è),然后在去了解其它的,可以說(shuō),入門會(huì)很快,因?yàn)槔镞呌泻芏嘞嗤臇|西。
最后總結(jié)一下我個(gè)人的心得:每個(gè)人都有好奇之心,這對(duì)做技術(shù)的來(lái)說(shuō)并不是什么壞事,正因?yàn)檫@顆好奇之心,不斷的帶領(lǐng)向前邁進(jìn)。另外了解一下滿足一下好奇心沒(méi)什么不好。就如同我當(dāng)時(shí)學(xué)習(xí)php一樣,感覺(jué)學(xué)習(xí)之后有多牛B,真正的學(xué)習(xí)后做了一個(gè)網(wǎng)站出來(lái)之后發(fā)現(xiàn),確實(shí)收獲不少,對(duì)前端也有幫助。但是js的水平還是在原地,除了擅長(zhǎng)使用jquery之外,并沒(méi)有太多的擅長(zhǎng)。
到目前為止我感覺(jué),還沒(méi)有達(dá)到一個(gè)自己滿意的力所能及的高度,努力中。但人的精力是有限的,能力是有限的,在有限的精力里邊把一件事情做好就已經(jīng)很不錯(cuò)了。
-
工程師
+關(guān)注
關(guān)注
59文章
1576瀏覽量
68772 -
前端
+關(guān)注
關(guān)注
1文章
210瀏覽量
17937 -
HTML
+關(guān)注
關(guān)注
0文章
278瀏覽量
37635 -
HTML5
+關(guān)注
關(guān)注
0文章
75瀏覽量
17577 -
node
+關(guān)注
關(guān)注
0文章
23瀏覽量
6007
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦

硬件工程師的終極幻想:焊板子焊上人生巔峰!#半導(dǎo)體器件 #硬件工程師 #MDD辰達(dá)半導(dǎo)體
ADS1274單端轉(zhuǎn)差分輸入用的THS4521放大器的輸出VOUT+ 是接ADS1274的AINP還是接AINN?
電子工程師的PCB設(shè)計(jì)經(jīng)驗(yàn)
電子工程師的電源設(shè)計(jì)經(jīng)驗(yàn)
電子工程師的電路設(shè)計(jì)經(jīng)驗(yàn)分享

不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過(guò)于真實(shí) #YXC晶振 #揚(yáng)興科技
工程師應(yīng)該掌握的幾種正確電容放電姿勢(shì)


硬件工程師VS軟件工程師|硬件工程師看到這都淚目了!#硬件設(shè)計(jì) #硬件工程師 #電子工程師 #軟件工程師
FPGA算法工程師、邏輯工程師、原型驗(yàn)證工程師有什么區(qū)別?

硬件工程師如何做元器件變更的決策

嵌入式軟件工程師和硬件工程師的區(qū)別?

電子工程師常見(jiàn)面試題(二)看看你能答對(duì)幾道吧#電子工程師 #電子工程師面試 #電子信息 #電工

評(píng)論