當看到這個問題之前,我也碰到過很多有同樣疑惑的同學,他們都有一個共同的疑問該學php還是nodejs,包括我自己也曾有過同樣的經歷。幸運的是,通過我內心的掙扎和對當前市場供需關系以及行業發展前景的綜合衡量評估后,我還是在接觸了java, php之后回到js這片天空上來了。一方面是客觀因素,一方面是興趣導致的,前端太好玩了,值得為此奉獻一點激情或青春。
其實這也是一個開發者成長必須經歷的一個洗禮,一個磨難,一個挑戰,他是一個必然的過程。很多人不差智商,不輸情商,四肢健全,就是學不好一門語言。我認為最主要還是敗在了堅持,專注上面了。經受不住內心私欲或其它語言的誘惑,都一一敗下陣來。
關于html5,他是個新東西嗎?是新瓶裝老酒而已,有實際處理問題的經驗,可以平滑的過渡,學習成本很低,但并不表示沒有。
然后說了解后臺語言,到底要了解到什么程度呢?
其實說后臺語言,其實他包括兩類語言,一個叫操作數據庫的語言,比如java,php,nodejs,ruby,python,c#等等。一個叫數據庫操作語言,比如sql,包括insert,update,select,delete四個動作。所有的頁面的一切數據交互都基于這四個操作。從我個人的經歷推薦兩本書:php與mysql程序設計,第四版,細說php,第二版。這兩本都是比較全面的介紹了php,包含了php基本概念與mysql的知識,但都比較淺顯,入門而已。
到現在你會發現,其實從前端的角度出發,語言有三種:操作數據庫的語言,數據庫操作語言,操作dom的js。然后就有方向了,學了js,學任何一門操作數據庫的語言(后臺語言),數據庫操作語言,然后就可以自由組合搭配。而且語言之間有很大的相似性,都可以無縫的跨界。區別的是語言開發的所依賴平臺,比如c#依賴于.net,php經常與apache,mysql結合,java依賴于jdk等等的。開發工具也各有不同,比如vs,phpstorm、zendstudio, intellij idea, eclipse等等。但他們的api卻很像似,粗暴點說,你抄我我抄你,你中有我,我中有你。
從前端的角度出發我推薦2門語言:php,nodejs。想照顧一些老的東西,維護一些老項目,就選php。展望新方向尤其io操作比較頻繁的可以了解一下nodejs。這兩個語言各有所長,只是nodejs從語法上來說跟js是無縫的。php的oop跟接近于java的純oop風格。但這2個從操作sql的方面來說,有很大的相似性。按照這個結論下來,無論選nodejs,php都可以,可以從主觀上判斷,你更喜歡那個。或者做一個小的留言板,看看那個更符合你的思維習慣。
一般的瓶頸就是你得少,建議多寫,用解決實際問題的經驗來跨越語言造成的障礙。
建議從以下的順序來鍛煉后臺語言:
1. 留言板,
2, blog
3. 企業站,
4. 商城
5. 新聞綜合站。
基礎的入門之后,就是框架了,從我個人淺顯的了解當中,分享一下經驗,大概市面上有這幾個框架:
1. ci 經典的輕巧框架,在全球的使用量比較靠前,入門比較簡單。
2. thinkphp,國內人用的比較多,是國人開發,現在勢頭真猛,比ci封裝的更好,也更傻瓜。
3. yii,這個是目前全球排名第一的框架,但是入門曲線稍高。
4. zend frame這是有php組織開發的框架,文檔比較規范,也比較重,適合構建大型項目。
5. laravel 這是一個呼聲比較好的一個新型框架,借鑒了Symphony,各方面比較優秀,博眾家之所長,但是相對中文資料比較少。
等這些了解了,估計已經入門了,學習應該找到具體的方向了。另外兄弟連的視頻教程,質量一般,勝在量多,從基礎到框架,應有僅有,最主要是免費。
然后回歸正題,只是建議你了解,點到為止,了解是為了把前端干的更好。那什么時候真正的深入學習?建議在學好js的前提之下,吃透js。
比如了解js的作用域,閉包,原型,繼承,尤其是作用域與面向對象是js的特色也是與任何一門后臺語言比較容易混淆的兩個地方。
請向各個業界js大牛看起,不一定非要那么深的深度,但一定達到自己力所能及的高度。
比如有個自己的框架,如司徒正美avlon,比如有一個自己寫的小框架,如玉伯的seajs等等。
另外我個人的經驗:學什么語言不重要,重要的是趨勢你學語言的動力,說白了真正的需求來自那些。我認為需求有兩方面。一方面是內在主動型的。比如js學習到一定的程序,寫了很多demo或想法需要用更個性化的方式來呈現,這時候需要建一個個人網站或博客來管理你的內容。這時候才選擇語言,了解需求產生,開發,發布上線的流程,對你以后的前端工作也是有幫助的。另外一個是外在被動型的,比如同學,家鄉的朋友,需要你幫忙做一個企業網站,小的電商網站來做為他們初期企業文化愿景宣傳的一個互聯網通道,這時候就是一個外在的需求。拿我個人經驗來說,我的php經驗完全是來自于一次接私單的經歷。雖然那次私單以失敗而告終,但我在一個月的業余時間里邊徹底的了解了php的開發方式,語言特征,后來根據這個基礎我成功的開發上線了另外一個朋友的個人網站:http://jing-ui.com,這個網站的開發心得一直想寫,但機會不湊巧,只能說敬請期待。明確一個自己感興趣的目標之后,在選擇語言,以興趣引導語言,學習才有動力。比如做網站,那可能就是php,nodejs,做個簡單的blog,在實踐中慢慢了解語言,在學習中慢慢成長。 nodejs或php都有各自的應用場景,要么選一個公司現在用的,要么選擇一個適合自己思維的。
如果你學會了其中的一個,然后在去了解其它的,可以說,入門會很快,因為里邊有很多相同的東西。
最后總結一下我個人的心得:每個人都有好奇之心,這對做技術的來說并不是什么壞事,正因為這顆好奇之心,不斷的帶領向前邁進。另外了解一下滿足一下好奇心沒什么不好。就如同我當時學習php一樣,感覺學習之后有多牛B,真正的學習后做了一個網站出來之后發現,確實收獲不少,對前端也有幫助。但是js的水平還是在原地,除了擅長使用jquery之外,并沒有太多的擅長。
到目前為止我感覺,還沒有達到一個自己滿意的力所能及的高度,努力中。但人的精力是有限的,能力是有限的,在有限的精力里邊把一件事情做好就已經很不錯了。
-
工程師
+關注
關注
59文章
1566瀏覽量
68445 -
前端
+關注
關注
1文章
190瀏覽量
17726 -
HTML
+關注
關注
0文章
277瀏覽量
34500 -
HTML5
+關注
關注
0文章
73瀏覽量
17372 -
node
+關注
關注
0文章
23瀏覽量
5934
發布評論請先 登錄
相關推薦
評論