2017年學習和工作的重點還是基於Openstack的私有雲Portal系統的前端架構和構建。
1.前端知識
前端基礎知識還是Web前端三劍客:HTML(5)、CSS(3)、JavaScript(ES6)。額外要補充就是jQuery。
HTML(5)
工作1-2年,對於HTML知識應該是前端工程師必備的技能,但是對於HTML5,還是要很多欠缺的地方。首先新增的標簽,比如canvas,video,audio這幾個就可以衍生很多高級內容,還有localStorage,web worker,web socket等。2017主要系統學習一遍HTML5相關的知識,完成2-3個基於HTML5新特性的小網站或系統。
css(3)
css選擇器優先級,css3里面的transform和animation就足以把學習CSS3的門檻提高一個檔次。因為本身是面向ToB的系統,所以在系統中使用CSS3新特性的地方不是特別多,但是在活動營銷或者廣告創意方面,CSS3的大量新特性應用還是非常多。
JavaScript(ES6)
Javascript基礎和面向對象JavaScript的學習,對於后續學習jQuery和新框架都用很大的幫助。在學習新框架的同時,必須回頭復習JavaScript相關基礎知識。而且JavaScript里面應該學習最難,收益最大的一門技術。
跟着阮一峰老師的ES教程,把ES6系統學習一遍。
jQuery
雖然新的框架,比如vue.js、React和AngularJS等目前占據了主流,但是掌握和學習jQuery還是非常有必要的。
2.雲計算知識
因為公司項目的底層是基於Openstack,所以需要了解Openstack里面計算模塊、網絡模塊和存儲模塊的基礎知識,特別是Openstack dashboard上的功能和交互樣式。
項目后端基於Docker容器部署,而且后續要引入API網關技術。后續前端開發工程師需要了解一下Docker基礎知識,能基於Docker做前端部署。最好是能基於自動化部署。
目前PaaS開發
只有Sina App Engine和Baidu App Engine兩家公司支持。而且業余開發的圖書輪流看項目也是基於BAE開發的,所以后續再繼續學習和使用PaaS相關知識。
3.項目框架
項目CSS框架基於Bootstrap,JavaScript框架基於AngularJS。路由方面引入了ui-router
,按需加載引入ocLazyLoad
,表格使用的是 smart-table
,圖表目前使用的ECharts
。組件方面使用的ui-bootstrap
。同時所在的team也開發了一些自定義指令,后面將這些整合在一起,能做出類似http://element.eleme.io/#/zh-CN/component/installation這種,能滿足部門其他的team的使用。
4.產品原型和設計
一直沒有持續的學習Photoshop,所以在新的一年,跟着網易雲課堂的相關ps課程,把ps相關基礎操作和切圖操作學會。能簡單進行網頁設計就OK。前端也需要參與到產品的原型設計,樣式設計和交互流程,所以學會ps和Balsamiq Mockups對於前端開發也是很有幫助的。
5.敏捷開發
團隊從2016年5月份左右就開始實行敏捷開發模式。每2周進行迭代一次,效果相對於之前還是有很大進步和改善。目前在測試方面還有一些欠缺。敏捷開發涉及到2個方面:一個是個人敏捷,另外一個是團隊敏捷。更多關於敏捷相關的知識,可以參考周金根的博客。敏捷個人:敏捷生活,平衡生活,你想一起來試試嗎?
后續會寫一篇關於個人時間管理的相關的工具,包括Todo,筆記和博客工具的使用。
6.移動開發
Mobile Web是PC Web對應技術,在客戶端Android和iOS開發的App中,或多或少要嵌入一些html頁面,而這里的頁面我可以稱之為:mobile web頁面。mobile web也有相應的前端框架,比如jQuery Mobile、Sench Touch等。涉及到響應式布局,移動端時間檢測,滑動,keyframe動畫等。
比如網易嚴選PC頁面如下:
Mobile頁面如下:
Android開發是大前端的范疇,如果時間允許的話,嘗試學習一下Android開發的基礎,能掌握Hybird App開發經驗最佳,完成的HTML5頁面嵌入到App中。更多內容可以參照rank的從 Web 前端到客戶端
ps:后續補充購買的相關書籍。