記得在一直有三個主要的發展方向:編程、寫作、設計。依據這三個方向來說, 前端就是編程和寫作的結合體 。
1
入門
故事要從大一說起:當時在入學前,我和楚非經常在“ 福(fu)建 老鄉群”討論技術,于是到了大學就勾搭在一起了。 他是學美術的,我是學電焊(電子信息工程)的 。在后來的大學期間里我們常常搭檔拉一些私活、做一些網站。
在我們有了遠大的理想之后,我們就開始分前后端——就是誰做前端,誰做后端。這個問題的答案:難道不應該是 學美術的用PS做前端,學電信的C寫語言的做后端 嗎?反正答案大家都知道了:不是。在今天看來有兩個原因:一、他是用Python的。二、我想學點設計。
于是,我就踏入前端這個坑,后來我就變成了蘿卜。
我一直都喜歡實戰一個語言、框架、技術等等,所以在最初的時候我只能做出這樣的頁面——這是我的第一個網站的水平, 求不取關 。
并且很多寫得比較好看的都不是我寫的,就開始了長路漫漫的 Cookbook 學習了——這就是我為什么我對動物園(O'Reilly)的書好感比較深的原因了。
2
切圖
大一暑假時,我就嘗試向幾家網絡公司投了簡歷,第一個實習機會就是切圖,當時這樣的網絡公司算是比較普遍的,不過我想今天大多數公司也是這樣的:
當時我只實習了半天就覺得混不下去了,主要是那個電腦太卡了—— 完全不適合用PS 。那半天做的事情就是這樣的:那家公司給了我個靜態圖片,讓我把它切成一個個圖層。類似于我們在寫CSS + HTML的時候,劃分DIV的感覺。
接著,很快地我就找到了第二家公司。這家公司要我做的事情:基于一張圖片,做出一個靜態頁面。
不過,在今天我都是在做第二件事,除了這個網站不是這樣的做的:
但是它真的不好看,求UX幫改進。
在那之后的很長一段時間里,我覺得前端就是HTML + CSS,外加 JavaScript這個小三 來操作HTML和CSS。當時我們面對客戶的需求后,要做的第一件就是:找個jQuery插件。
后來,我就去學后端、還有“空手”焊電話:
幸好,最后焊出來的這個電路是能用的。
3
前后端分離
某次在閑逛的時候,發現了一個基于jQuery Mobiel的單頁面應用,發現原來Web也可以這樣做。但是因為是基于jQuery就還覺得好奇了,到了后來都已經是實習的時候。當時項目上在用Backbone,今天已經是微服務 + React了。說是幸運也不好,不幸也好,經歷過這么大的爆發。
APP和移動Web的出現改變了系統原先的MVC架構。
這時候出現了一些微妙的變化,于是我也經歷了這些變化。
邏輯代碼不僅僅只在后臺出現——同樣的邏輯也會出現在前后端
由于前端打交道的是API——人們不得不重新設計API,微服務開始流行
信息安全變成了一個更重要的話題了
混合應用帶給了前端新的可能性
Node.js將前端人員引入了后端
人們改進了JavaScript——ES6
等等。
越來越多的網站開始重構自己的系統,讓自己的網站更輕量級,更快。當然,更有極端者走向了One JavaScript。
4
One JavaScript
如果說這個世界上有一個語言來解決絕大部分的技術問題,那么只有JavaScript。
因為只有JavaScript能在瀏覽器上運行,即使我們用了其他語言轉換成JavaScript,那么它最終也是JavaScript。
在那篇《 最流行的編程語言JavaScript能做什么? 》,實際上就是我對JavaScript的一些嘗試:
數據可視化。我最喜歡的領域之一了,將難以讀懂的數據,轉換成美秒的圖表。
移動應用。無論是Growth還是我現在的項目,我都在盡可能去優化這種快捷地開發方式。
服務端。我在我的物聯網項目上,將Node.js用到其中,發現還是很不錯的。
桌面應用。Growth的桌面版就是這樣的一個嘗試,只是這個包太大了。
VR和AR。還記得之前提到過的火星漫游者嗎?
硬件。今天除了Tessel、還有Ruff可以做這樣的事,未來還會有更多的硬件出現。
物聯網。既然前后端都統一了,那么它也將在物聯網領域統一。
全平臺應用。
依照現在的趨勢, 未來人們只需要有一份代碼,就可以運行在桌面、桌面Web、移動Web、移動應用上。 我想這個時間應該就在今年里就可以輕松做到了——已經有了,雖然還不怎么樣。
但是這一切并沒有讓人太滿意, 技術并沒有與業務有太好的隔離 。
Hi,如果你追求技術,熱愛前端,如果 你也在深圳 ,不妨來 ThoughtWorks深圳 試試。當然,你也可以去ThoughtWorks 西安、北京、成都、武漢、上海試試 。我們正在尋找茫茫人海中的你。 不僅可以見到我,你還有機會看到Martin Fowler——不要和我說你不認識他。同時,你將體驗到國內領先的 軟件工程實踐 ,以及結對編程:
以及大把的不加班、刷GitHub、刷技術漲經驗的時間——我的意思:
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com