流行框架阶段·概览

1. 现在有什么东西在流行,我们要学什么?

流行框架阶段的学习,大部分经历会花在AngularJs的框架的学习上。

不过,在真正开始学习AngularJs框架之前,还可以花一点小时间,带领大家认识一下现在都有什么框架在流行着,它们的功能都是什么。虽然不会真正学习它们的用法,但是至少能够了解还有这些东西存在,对于扩展视野和面试有一些帮助。
2. 从NodeJs谈起

在NodeJs出现之前,JavaScript一直以来被视作一种浏览器脚本,它的应用范围更多是在浏览器之中,操作一下各种浏览器对象(BOM)或者文档对象(DOM)。由于浏览器的安全性限制,JavaScript这门语言,一直缺乏一种读写本地文件、进行跨域访问甚至于调用操作系统自带API的能力。

而NodeJs的出现改变了这一点。NodeJs做了什么呢?它提供了一种不同于浏览器的、功能更加强大的JavaScript运行环境,运行在NodeJs中的JavaScript有着和运行在浏览器中JavaScript不同的API,拥有更高的权限,可以访问本地文件、访问网络数据。于是,这就催生出了许多基于JavaScript来书写的前端工具。帮助我们更好的进行开发。

比如说,我们大家都很熟悉的LESS。它是读取LESS文件然后生成出CSS文件,想要达到这个功能,如果没有NodeJs的话,就只能借助于其他语言了。而在有NodeJs之后,就可以用JavaScript来读取本地的LESS文件,然后生成出CSS文件。

[注意:NodeJs的课程应该是在流行框架阶段之后。]3. 还有什么流行框架呢?

包管理工具
        所谓的包管理工具,其实就是把各种前端的库(类似于jquery、bootstrap这种的)打包存储在一个专门的服务器上,然后程序员开发时可以使用工具从服务器上下载这些包,放到自己的文件夹下。这样就不需要到处找各种框架的官方网站来下载了。
        通常来说,包管理工具还允许你生成一个配置文件,配置文件记录了这个项目中用到了哪些包。有些时候,把这个配置文件共享给朋友,他就可以下载你所指定的那些第三方库了。这在共享项目时很常见。
        常见的包管理工具
            NodeJs本身的npm工具。
            bower。(随着npm功能越来越强大,逐渐被淘汰中)
    项目自动化工具
        在开发过程中,我们经常会遇到移动文件、合并文件、对JavaScript文件进行压缩、把LESS翻译成CSS放到指定的位置上之类的工作。如果每次修改源代码都把这些工作重新做一遍的话,会非常的浪费时间。所以,就有了将这些工序自动化的工具。
        常见的项目自动化工具
            gulp。
            grunt。(逐渐变得不流行,被gulp以及其他替代。)
            webpack。(webpack不仅仅是一个自动化工具,但它也有自动化的能力,最近最流行。)
    CSS预编译工具
        解决一些CSS存在的问题,比如LESS。总之就是一种被强化过的CSS语言,提供一些新的语法来完成一些更方便的功能。
        常见的CSS预编译语言:
            LESS
            SASS
            Stylus
        还有一种工具,虽然不是预处理,但也是对CSS文件做处理的:
            postCSS(将CSS文件输入,然后输出被处理过的CSS文件。比如说,输入的CSS不带-webkit-之类的浏览器前缀,但是输出时却带上了)
    JavaScript预编译工具
        类似于CSS预编译语言,JavaScript预编译语言也是用于解决JavaScript现有版本中存在的一些问题的。
        常见的JavaScript预编译工具:
            babel。(把ES6代码编译成ES5或者ES3代码,虽然都是JavaScript,但是ES6在语法特性上要更加的强大,解决了先前版本的不少问题)
            Typescript。(类型化的JavaScript,如果有时间我们可以提一下。另外,AngularJs2就是使用Typescript做开发的。)
            coffeescript
            dart
    UI库
        bootstrap大法好。总之就是类似于bootstrap的各种UI框架,通常都会包括CSS部分和JS组件部分。
        这类库太多太杂,就不多提了。
    模块化与模块加载
        模块化的问题在现阶段很难讲解,总的来说就是一套组织JavaScript代码结构的思路。举个小例子:我们想要封装一个类似于jquery的库,可以先封装一个模块叫做core,用于管理代码整体结构;然后再封装一个模块selector,里面写的全都是选择器的功能;然后在封装一个模块ajax,里面全都是XHR、jsonp之类的功能;然后整体的结构就是,当我们需要ajax时就用ajax,当我需要selector时就用selector,然后这两个模块都需要core,core就会被自动加载……
        好吧,看不懂就算了。关于模块化的内容,在NodeJs阶段的课程中会用大概一整天的时间来讲。这已经算是一种开发的思维方式了,需要一定时间来体会的。
        现在常见的模块化框架有requirejs、seajs、webpack、browserfy等等,其中后两者比前两者功能更多。
    网页应用框架
        专门研究当页面局部刷新越来越多,单一页面的功能越来越复杂时,如何更好的组织代码、更方便地改变页面显示状态的框架。
        常见的有AngularJs,React,VueJs,Backbone,Ember,KnockOut,Avalon……
        它们的思路大部分都是“当需要显示的数据和页面状态频繁变化时,如何更加方便的更新页面上的显示”

时间: 2024-07-29 00:30:32

流行框架阶段·概览的相关文章

前端流行框架概述

流行框架阶段·概览 1. 现在有什么东西在流行,我们要学什么? 流行框架阶段的学习,大部分经历会花在AngularJs的框架的学习上. 不过,在真正开始学习AngularJs框架之前,还可以花一点小时间,带领大家认识一下现在都有什么框架在流行着,它们的功能都是什么.虽然不会真正学习它们的用法,但是至少能够了解还有这些东西存在,对于扩展视野和面试有一些帮助. 2. 从NodeJs谈起 在NodeJs出现之前,JavaScript一直以来被视作一种浏览器脚本,它的应用范围更多是在浏览器之中,操作一下

60.Android通用流行框架大全

转载:https://segmentfault.com/a/1190000005073746 Android通用流行框架大全 1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide 一个图片加载和缓存的库 3. 图片处理 名称 描述 Pi

android开发从零开始 -----Android通用流行框架大全

好东西值得分享 ,这是网络上总结的一些开源的东西直接就拿过来了  .... Android通用流行框架大全 先把这张图放在这 ,先来谈一谈项目结构 .我喜欢将东西按模块来划分: 都知道module .它的应用非常方便 .对于一个项目刚开始开发时要考虑这个项目是由那些部分组成 lib_base  :包含各种Base基类 .如 BaseActivty  BaseFragment  BaseApplication   这是一些项目的开始基础. lib_ui:各种自定义UI ,或第三方ui .现在and

atitit.php 流行框架 前三甲为:Laravel、Phalcon、Symfony2 attilax 总结

atitit.php 流行框架 前三甲为:Laravel.Phalcon.Symfony2 attilax 总结 1. ,最流行的PHP框架前三甲为:Laravel.Phalcon.Symfony2. 1 1.1. 2.Laravel 2 1.2. 3.phalcon 2 1.3. Symfony 2 2. 国内常用的框架 3 3. 百度搜索结果比较 3 4. 参考 3 1. ,最流行的PHP框架前三甲为:Laravel.Phalcon.Symfony2. Sitepoint网站做了一个小的调查

【转】【译】JavaScript魔法揭秘--探索当前流行框架中部分功能的处理机制

推荐语: 今天推荐一篇华为同事的同事翻译的一篇文章,推荐的主要原因是作为一个华为员工居然晚上还能写文章,由不得小钗不佩服!!! 其中的jQuery.angular.react皆是十分优秀的框架,各有特点,各位可以看看 编辑:github 原文链接:Revealing the Magic of JavaScript jnotnull发布在 JavaScript译文 我们每天都在使用大量的工具,不同的库和框架已经成为我们日常工作的一部分.我们使用他们是因为我们不想重新造轮子,虽然我们可能并不知道这些

SSH框架阶段 ——SSH的优缺点,使用场景?

Hibernate优点: (1) 对象/关系数据库映射(ORM)它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全的面向对象思想(2) 透明持久化(persistent)带有持久化状态的.具有业务功能的单线程对象,此对象生存期很短.这些对象可能是普通的JavaBeans/POJO,这个对象没有实现第三方框架或者接口,唯一特殊的是他们正与(仅仅一个)Session相关联.一旦这个Session被关闭,这些对象就会脱离持久化状态,这样就可被应用程序的任何层自由使用.(例如,用作跟表

流行框架与新技术

1.谈谈你对struts的理解. struts是一个按MVC模式设计的Web层的框架,本质上是servlet,这个servlet名为ActionServlet或其子类,我们可以在web.xml中将符合某种特征的所有请求交给这个Servlet处理,Servlet在参照一个配置文件(struts-config)将各个请求分别分配给不同的action处理 ActionServlet把请求交给action去处理之前,会将请求参数依照配置文件(struts-config)封装成一个formbean对象传递

WebService流行框架之Axis和CXF

转自:http://www.cnblogs.com/snake-hand/archive/2013/06/09/3129915.html 前言 上节课我们对WebService进行了简单的介绍,对于其所应用到的技术有了一定的了解.今天主要讲解下WebService的两个流行的框架Axis和CXF. 正题 一.服务端发布WebService 在讲解之前,我们先来看一下这篇博客主要讲解的内容: 每一种框架都有自己的特点,有自己的侧重,但是他们的共同之处在于对发布WebService进行了封装,所以我

# 流行框架第一天:构建前端自动化工作流环境

## 兩個問題 ## 学习目标 - 了解什么是Node,什么是NPM:(Node.js) - 掌握Bower的使用: - 熟练使用Less/Sass: - 搭建一个自己的自动化工作流环境: + 自动编译 + 自动合并 + 自动刷新 + 自动部署 - GIT 与 GITHUB + master 托管源文件 + gh-pages 托管部署文件 + 在github搭建自己的blog ## 为什么要有自动化的流程 - 在我们的开发过程中有大量的重复操作 - DRY Don't repeat yourse