【引向】全栈开发工程师之路

全栈工程师,也叫全端工程师。是指掌握多种技能,并能利用多种技能
独立完成产品的人

技术栈

  • 界面设计 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引擎

同步和异步

同步是指发起调用之后主线程只能挂起
异步是指发起调用之后主线程可以做别的事情

什么是I O

I/O输入/输出(Input/Output)

node.js的优点

Nodejs基于Javascript语言
统一公共类库,代码标准化
Nodejs选择了目前最快的浏览器内核V8做为执行引擎
Nodejs的社区非常活跃

js模块

不足

js没有模块系统,不支持封闭作用域或依赖管理
没有标准库,没有文件系统API
没有包管理系统,不能自动加载和安装依赖

commonjs规范

一个 node.js由大量模块组成, 每个JS文件都是一个模块
实现了require 方法,npm基于commonjs 实现了自动加载和安装
依赖

模块和包的优点

增加内聚性,有助分工协作
方便重构
提高代码质量

模块使用

定义模块
导出模块 (导出类和对象或常量)
使用模块

什么是前后端分离

前端:负责View 和Controller 层。
后端:只负责Model 层,业务和数据处理等。

为什么要前后端分离?

后端为主的MVC,遇到同步异步结合的页面沟通麻烦
Ajax为主SPA 型开发模式, 如果一个页面请求过多则性能较低
前后端职责不清
限制了前端的发挥空间

基于Node.js的前后端分离

后端提供API数据接口
前端负责渲染模板和页面

案例

抓取百度百家生成新闻列表

    原文作者:Web寻梦狮
    原文地址: https://segmentfault.com/a/1190000015574994
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞