全棧工程師,也叫全端工程師。是指掌握多種技能,並能利用多種技能
獨立完成產品的人前端
技術棧
- 界面設計 Axure
- 前端開發 HTML5+CSS3
- 後端開發 Node.js Express Koa
- 數據庫 Mysql Mongodb Redis
- 移動端 Ionic
- Restful API
- OAuth QQ第三方認證
- 單頁應用 AngularJs
- WebSocket
- 微信開發
- 設計模式
基礎篇
- NODE基礎
- Javascript高級
- 面向對象
- 閉包
- 做用域
- this
- 執行上下文
- ......
提升篇
- GIT 原理解析與最佳實踐
- ES6+Gulp+Webpack+ ReactJS 高級
- React Native 實戰
- AngularJS 高級
- 微信開發
- OAuth QQ第三方認證
- Restful API
Node是什麼
- Node.js是一個讓JS能夠運行在瀏覽器以外的服務器端的平臺它實現了諸如文件系統、模塊、包、操做系統API,網絡通訊等核心JS沒有或不完善的功能
- 它摒棄傳統平臺依賴多線程來實現高併發的設計思路,而採用單線程,異步式I/O,事件驅動式的程序設計模型
- Node.js使用了來自於Google ChromeV8引擎。V8是目前世界上最快的Javascript引擎
同步和異步
同步是指發起調用以後主線程只能掛起
異步是指發起調用以後主線程能夠作別的事情node
什麼是I O
I/O輸入/輸出(Input/Output)sql
node.js的優勢
Nodejs基於Javascript語言
統一公共類庫,代碼標準化
Nodejs選擇了目前最快的瀏覽器內核V8作爲執行引擎
Nodejs的社區很是活躍數據庫
js模塊
不足
js沒有模塊系統,不支持封閉做用域或依賴管理
沒有標準庫,沒有文件系統API
沒有包管理系統,不能自動加載和安裝依賴npm
commonjs規範
一個 node.js由大量模塊組成, 每一個JS文件都是一個模塊
實現了require 方法,npm基於commonjs 實現了自動加載和安裝
依賴後端
模塊和包的優勢
增長內聚性,有助分工協做
方便重構
提升代碼質量設計模式
模塊使用
定義模塊
導出模塊 (導出類和對象或常量)
使用模塊瀏覽器
什麼是先後端分離
前端:負責View 和Controller 層。
後端:只負責Model 層,業務和數據處理等。服務器
爲何要先後端分離?
後端爲主的MVC,遇到同步異步結合的頁面溝通麻煩
Ajax爲主SPA 型開發模式, 若是一個頁面請求過多則性能較低
先後端職責不清
限制了前端的發揮空間微信
基於Node.js的先後端分離
後端提供API數據接口
前端負責渲染模板和頁面
案例
抓取百度百家生成新聞列表