zoukankan      html  css  js  c++  java
  • 从Vue.js窥探前端行业

    近年来前端开发趋势

    1.旧浏览器逐渐淘汰,移动端需求增加:

    旧浏览器主要指的是IE6-IE8,它是不支持ES5特性的;IE9+、chrome、sarafi、firefox对ES5是完全支持的,移动端大部分浏览器是基于webkit内核,所以ES5在移动端也是全面支持的,因此vue可以在移动端以及现代浏览器中大显身手。

                                            

    2.前端交互越来越多,功能越来越复杂:

    现在的前端可谓是包罗万象,比如高大上的技术库和框架、酷炫的运营活动页面、H5小游戏,当然前端技术的应用在更多具有商业价值的应用上,比如下图。

                                                

    3.架构从传统后台MVC向REST API+ 前端 MV*(MVC、MVP、MVVM) 迁移

    在传统的MVC下,当前前端和后端发生数据交互后会刷新整个页面,从而导致比较差的用户体验。因此我们通过Ajax的方式和后端REST API作通讯,异步的刷新页面的某个区块,来优化和提升体验,同时把MVC拿到前端来做

    MVVM框架

    1.MVVM框架基本概念:它主要包括各部分View、ViewModel、Model,如下图。在MVVM架构下,视图和数据是不能直接通讯的,它会通过ViewModel这个中间件来通讯。ViewModel起的是一个观察者的职位:当数据变化,ViewModel观察到变化,并通知视图做相应的更新;而用户操作视图,ViewModel也能监听到变化,然后通知数据做改动,从而实现了数据的双向绑定。

                   

    2.MVVM框架的应用场景

    MVVM框架针对具有复杂交互逻辑的前端应用,它提供了基础的架构抽象,并且通过Ajax数据持久化,保证前端用户体验。

    所以MVVM框架的好处显而易见:当前端对数据进行操作的时候,可以通过Ajax请求对数据持久化,而不必刷新整个页面,只需改变dom里需要改变的那部分数据内容。特别是在移动端,刷新页面的代价太昂贵。虽然有些资源会被缓存,但是页面的dom、css、js都会被浏览器重新解析一遍,因此移动端页面通常会被做成SPA单页应用。由此在这基础上诞生了很多MVVM框架,比如Angular.js、react.js、vue.js。

    Vuejs以及其生态

    vue.js是由国内的大牛尤雨溪为主要开发的,它起初是个人项目,在2014年初开源就受到广泛关注。起初尤大神把它定位是一个视图库而非框架,但随着vue-router,vue-resource等第三方库的发展,Vuejs逐渐成长为一个框架。

    1.它是一个轻量级MVVM框架(只有20来kb)

    2.核心思想

      ①数据驱动:数据(model)改变驱动视图(view)自动更新,DOM是数据的一种自然映射

      ②组件化:扩展HTML元素,封装可重用的代码

    4.github超过35K+的star数,社区完善 

    Vue vs Angular React 

    Vue官网已对各个主流框架进行了比较详细的对比分析(中文版地址),下面进行简单地总结下;

    Vue.js更轻量,gzip后大小只有20k+。Angular有56K,React有44K。

    Vue.js相对来说学习曲线比较平稳。

    Vue.js吸取了两家之长,借鉴了Angular的指令和react的组件化。

  • 相关阅读:
    只是记录一些东西在上面,不是为了炫耀,也不是为了。。。。
    之友赠言
    登陆名---惊涛骇浪
    JNI
    学长们的求职血泪史(C/C++/JAVA)
    胡震宁先生的《职业生涯规划》
    大小端地址转换
    关于Android不能启动的问题
    编译Android 必须安装的库
    ubuntu11.10 64bit 编译android 4.0
  • 原文地址:https://www.cnblogs.com/yulei126/p/6790073.html
Copyright © 2011-2022 走看看