当前位置:首页 » 网页前端 » 模块化前端框架
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

模块化前端框架

发布时间: 2023-01-14 04:47:34

A. 如何理解前端模块化

前端模块化
在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可;如今CPU、浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着web2.0时代的到来,Ajax技术得到广泛应用,jQuery等前端库层出不穷,前端代码日益膨胀

这时候JavaScript作为嵌入式的脚本语言的定位动摇了,JavaScript却没有为组织代码提供任何明显帮助,甚至没有类的概念,更不用说模块(mole)了,JavaScript极其简单的代码组织规范不足以驾驭如此庞大规模的代码

模块
既然JavaScript不能handle如此大规模的代码,我们可以借鉴一下其它语言是怎么处理大规模程序设计的,在Java中有一个重要带概念——package,逻辑上相关的代码组织到同一个包内,包内是一个相对独立的王国,不用担心命名冲突什么的,那么外部如果使用呢?直接import对应的package即可

import java.util.ArrayList;
遗憾的是JavaScript在设计时定位原因,没有提供类似的功能,开发者需要模拟出类似的功能,来隔离、组织复杂的JavaScript代码,我们称为模块化。

一个模块就是实现特定功能的文件,有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。模块开发需要遵循一定的规范,各行其是就都乱套了

规范形成的过程是痛苦的,前端的先驱在刀耕火种、茹毛饮血的阶段开始,发展到现在初具规模,简单了解一下这段不凡的历程

函数封装
我们在讲函数的时候提到,函数一个功能就是实现特定逻辑的一组语句打包,而且JavaScript的作用域就是基于函数的,所以把函数作为模块化的第一步是很自然的事情,在一个文件里面编写几个相关函数就是最开始的模块了

function fn1(){
statement
}

function fn2(){
statement
}
这样在需要的以后夹在函数所在文件,调用函数就可以了

这种做法的缺点很明显:污染了全局变量,无法保证不与其他模块发生变量名冲突,而且模块成员之间没什么关系。

对象
为了解决上面问题,对象的写法应运而生,可以把所有的模块成员封装在一个对象中

var myMole = {
var1: 1,

var2: 2,

fn1: function(){

},

fn2: function(){

}
}
这样我们在希望调用模块的时候引用对应文件,然后

myMole.fn2();
这样避免了变量污染,只要保证模块名唯一即可,同时同一模块内的成员也有了关系

看似不错的解决方案,但是也有缺陷,外部可以随意修改内部成员

myModel.var1 = 100;
这样就会产生意外的安全问题

立即执行函数
可以通过立即执行函数,来达到隐藏细节的目的

var myMole = (function(){
var var1 = 1;
var var2 = 2;

function fn1(){

}

function fn2(){

}

return {
fn1: fn1,
fn2: fn2
};
})();
这样在模块外部无法修改我们没有暴露出来的变量、函数

上述做法就是我们模块化的基础,目前,通行的JavaScript模块规范主要有两种:CommonJS和AMD

CommonJS
我们先从CommonJS谈起,因为在网页端没有模块化编程只是页面JavaScript逻辑复杂,但也可以工作下去,在服务器端却一定要有模块,所以虽然JavaScript在web端发展这么多年,第一个流行的模块化规范却由服务器端的JavaScript应用带来,CommonJS规范是由NodeJS发扬光大,这标志着JavaScript模块化编程正式登上舞台。

定义模块
根据CommonJS规范,一个单独的文件就是一个模块。每一个模块都是一个单独的作用域,也就是说,在该模块内部定义的变量,无法被其他模块读取,除非定义为global对象的属性

模块输出:
模块只有一个出口,mole.exports对象,我们需要把模块希望输出的内容放入该对象

加载模块:
加载模块使用require方法,该方法读取一个文件并执行,返回文件内部的mole.exports对象

B. 有哪些值得推荐的类似 jQuery UI 或者 Bootstrap 这样的 UI 框架

1)Twitter Bootstrap

Bootstrap是最流行的HTML5框架之一。这是一款用于Web开发的时尚、直观、强大的前端框架。它有着用于开发响应式网站的所有组件,如12列响应式网格、定制jQuery插件、bootstrap编辑器等等。

2)HTML5 Boilerplate

HTML5 Boilerplate能帮助我们构建快速、可适应的Web应用和网站。它提供了优秀的网站性能和独立的服务器维护配置。它可以帮助你开展新的项目。

3)Foundation

Foundation是当今世界最先进的响应式前端框架。我们可以通过构建面向小型设备的网站来使用此HTML5架构。它也可用于灵活和响应式的网站

4)UIKit

UIKit是一款轻量级,模块化的前端框架,可快速构建强大的web前端界面。UIKit提供了全面的HTML、CSS和JS组件,使用和定制都很方便。

5)HTML5 KickStart

HTML5 KickStart有着精简的HTML5、CSS和JS的构建模块,支持快速制作网站。它小小的程序包中囊括了响应式网格布局、触摸功能的幻灯片等等

6)Gumby

Gumby2是一个非常了不起的响应式CSS框架。Gumby框架也允许定制:这和下载、调整、部署一样简单!Gumby2建立在Sass的基础上。

7)Skeleton

Skeleton简单又友好,可用于开发HTML5网站和移动应用。它有一个CSS文件的小集合,能让你快速开发出任意大小的网站。

8)Groundwork

Groundwork是一款响应HTML5、CSS和JavaScript的框架,拥有如网格系统,高度可定制化,响应式文本等等功能。

9)Base

Base是一款基于语义的、轻量级的和可扩展的框架,可用于快速创建响应式站点。

10)Montage

Montage是一款支持构建现代化Web应用程序的HTML5框架。它能协助你开发出可扩展和可维护的HTML5应用。它拥有如可重用的组件和HTML模板,声明组件模型,声明数据绑定等功能。

11)Layers CSS

Layers CSS是轻量级的CSS框架,它不强调任何设计但是可以用来处理主要结构。它拥有流动网格和一些简单的类,以支持响应式布局。

12)52Framework

52Framework是一款旨在提供用简单方法通过HTML5和CSS3构建响应式网页,同时支持所有现代浏览器的HTML5框架。它里面有多种超棒的组件,如HTML5视频播放器,圆角,HTML5画布例子,HTML5表单验证等等等等。

13)CreateJS

CreateJS是一系列模块化的库和工具,经由HTML5的Web技术生成丰富多彩的交互式内容。它有HTML5音频,对象管理,渐变等功能。CreateJS套件包括:EaselJS,TweenJS,SoundJS,PreloadJS和Zoe。

14)Kube

Kube Framework只有一个CSS文件。它的美丽就源于它的简单。对开发人员拥有最大的灵活性和定制,并提供LESS文件。

15)Less Framework

Less Framework是一个现代化的前端框架,用于构建响应式的设计。它也是一款支持设计自适应网站的CSS网格系统。它含有通通基于单网格的4款布局和3套预设排版

16)SkelJS

skelJS是一款轻量级的前端框架,用于构建响应式网站和app。


具体的官方网址请参考以下博客内容:

C. 如何实现前端模块化开发

SeaJS 是一个适用于 Web 浏览器端的模块加载器。
使用 SeaJS,可以更好地组织 JavaScript 代码。

D. 如何学习前端模块化知识

学习前端模块化知识主要集中精力学好以下知识点:

1、学好三驾马车:HTML5 + CSS3 + JavaScrip

2、推荐学习过程:

1)CSS

(1)入门:

Codeademy上的html&css课程——在线交互式编程平台,弄清楚基本概念和基本语法

w3school上的HTML/CSS教程——技术手册式的教程,比较全面,照着实例敲一遍

(2)进阶:

《精通CSS·高级Web标准解决方案》——对CSS有一个比较深入的学习,对核心技术了解。

《HTML5权威指南》——非常全面的书,内容也很新,包含了HTML5+CSS3+JS DOM

(3)实战:

bootstrap框架: bootstrap中文网/《bootstrap实战》——流行的前端框架,注重实用即可

Codeademy上的Web Developer Skills+Projects——通过自己做小页面/小网站来运用所学

(4)提高:

《CSS禅意花园》——提高自己的艺术设计能力,通过实例来学习如何用CSS设计出漂亮的页面

2).Javascript:

(1)入门:

Codeademy上的javascript教程——实例比较多,比较浅,算是基本了解JS

w3school上的JS教程——比较详细的了解下JS的特性

《JavaScript DOM编程艺术》——讲js和DOM的基本知识和运用,了解JS和DOM可以做什么

(2)进阶:

《JavaScript高级程序设计》——JS圣经,比较全面,非常好的一本书,比犀牛书可阅读性强

《JavaScript权威指南》——传说中的犀牛书,好厚好厚的一本书,不适合入门,适合当工具书看

《JavaScript语言精粹》——很薄的一本书,但是可以帮助你快速了解JS的精华部分

(3)实战:

jQuery框架: w3school上的jQuery教程/Codeademy上的jQuery教程——了解Jquery

《jQuery基础教程》——流行的前端框架,注重实用

(4)提高:

《高性能JavaScript》——讲如何提高js性能,以及构建和部署文件到生产环境的最佳实践

《Secrets of the JavaScript Ninja》——jQuery作者写的书,如果你觉得精通JS了再看这本书

E. 前端常用的框架有哪些

一、 Web前端框架之Angular 2+
Angular 2+优点解析:
Angular 2+ 的最大优势在于它的流行程度。也有人认为它和 Google 密切相关的名字,会影响团队使用它。Angular 1 的迅速流行是因为那些来自其他交互式应用程序开发环境的人会发现对于开发单页面 Web 应用程序具有相似的模型-视图模式。通过对 Angular 1 进行现代化演变和重新构建框架的某些部分,Angular 2+ 已经真正的爆发了,大量的正式的和非正式培训机构数量都让人印象深刻,开发者有很强的市场竞争力。对于用户来说它有一套用于构建用户界面的丰富组件,这也是本系列中少有的几个框架能够做到这点。
缺点解析:
我们觉得 Angular 框架着重于在单个页面应用程序中创建用户界面并没有处理构建完整的 Web 应用这个更大的关注点,如果不及早确定下来,这将会导致整个项目难以维护,在实际项目中,运行时提供不属于核心框架的技术往往让人觉得不可思议,这大大降低了 TypeScript 对最终开发者的价值。
发展方向:
Angular 5 刚刚发布,这看来是 Angular 已经成功的印证了快速发布版本的承诺,在 Google 的持续支持下,Angular 会越来越成熟。
像许多的大型组织一样,Google 具有多重(分裂)的人格,从外表上看,Angular 团队和那些专注于浏览器标准的团队之间显得很和谐。但我们的观点是,和谐只是一层薄薄的窗户纸。Angular 团队对于 Web 组件和渐进式 Web 应用没有一个真正解决方案。我们认为,业界普遍认可的标准将会在 Angular 框架中会逐步实现,这将会影响到如何更好的构建 Angular 应用将成为一个中/长期的风险。
使用环境:
如果你需要在一个大型的框架内获取技术资源,框架内的技术通常很容易移植;或者你需要在框架中训练开发人员,并且还要有一定的信心,他们会在短期内获得一定的开发能力,这样的话你可以考虑 Angular 2+ 。需要注意的是 Angular1(angular.js)与 Angular2+ 是截然不同的,其中的应用、技术和经验不能直接移植到 Angular2+ 的开发中去。
如果你的 Web 应用能够很好的转化为标准的模型-视图模式,那么你也可以忽略其他直接考虑使用 Angular2+ 。
如果你对 Google Material UX 设计模式满意,那么 Material Angular 是遵循该模式的一种快速、简单且可靠的方式。
二、Web前端框架之React + Rex
React + Rex优势解析:
React 和 Rex 的最大优势在于它们相对简单和专注。做一件事情并把它做好是非常困难的,但这两个库都很有效地完成了它们的目标。虽然对于某些状态容器方法可能是外部的,但大多数开发人员还是可以轻松掌握概念,并了解单向数据体系结构的好处,简化大量的用户界面应用程序。
缺点解析:
React 和 Rex 最大的弱点不是它们是什么,而是它们不是什么。要构建一个功能丰富的 Web 应用程序,你需要许多功能,一旦脱离 React 和 Rex 和其他一些库的核心,你将发现一个非常分散的社区,拥有无数的解决方案和模式,不容易整合在一起。
因此,虽然 React 和 Rex 都是非常专注的库,但缺乏经验的团队还是会很容易地生成不可维护的解决方案,而不是意识到他们所做的选择会导致性能不佳或错误。即使有经验的开发人员也可能意识到,一个松散的架构或惯例可能会在未来困扰他们。
假省钱是一种对自己的欺骗,组织范围内采用 React 和 Rex 将轻松降低无效率问题。没有其他库和模式的广泛约定和标准化,标准化 React + Rex 比较于我们正在采用的 JavaScript 来编写我们的应用程序效率要高。
发展方向:
Facebook 和 React 最近从繁琐的附加专利纠纷中抽离,他们认识到,就像其他项目一样,更广泛的社区能够提高自己的声音。我觉得这有助于 Facebook 意识到他们还不能更好地了解我们,相信我们来引导项目。希望这将继续贯穿项目的特点和技术方向。
很难预测 React 和 Rex 的未来。但是,将库集中在一起,确实会显着提高适应性,大多数React + Rex 模式都会促进一个分离的体系结构,从而可以轻松地进行重构和迭代。两年前,大家喜欢的还是React + Flux,但整个社区很快就拥抱了Rex。思维或模式的其他重大转变可能很容易被采纳。这种关键能力可能会持续到未来。
使用环境:
如果你很少需要手把手指导,并且正在寻找更好的库而不是全面的框架,那么 React + Rex 可能是正确的。在这一过程中,你不仅需要对你的团队和组织的能力保持诚实,还要在你的初始开发过程中,以及在整个应用程序的长期维护过程中保持诚实。
三、Web前端框架之Vue.js
vue.js优势介绍:
渐进式构建能力是vue.js最大的优势,vue 有一个简洁而且合理的架构,使得它易于理解和构建。
vue 有一个强大的充满激情人群的社区,这为vue.js增加了巨大的价值,使得为一个空白项目创建一个综合的解决方案变得十分容易。
缺点介绍:
在模型-视图应用程序和状态容器类型的应用程序之间的互相转换可能会令人感到困惑,即使没有完美包含一个模式到另一个模式的完美转换,但让人感觉希望能维持两个模式的相关性。对于那些期待vue.js完美解决方案,并可能导致难以维护不一致的应用程序的人来说,这至少是令人困惑的。
一个更大的挑战是vue.js依赖于一个单独的人,很明显,其他的项目基本是由一个组织提供支持,但这让人感觉更加有意义,虽然它有一个强大文件的社区和许多有创新的新增项目,但是 vue 核心的开发基本落在一个人身上。
我们很高兴看到 vue 更加容易接受新兴的标准方法,但是它的类似于 Web 组件的模式,而不是真正的 Web 组件,这可能是 vue 所得不偿失的地方。
发展前景:
虽然vue.js有相当广泛的应用,但也很难预测在中期发展中这个势头能持续多久,它不是由一个商业组织直接支持并维护,因此,这很大程度上依赖于维护者的生存能力和继续维护下去的愿望来决定。
它也表现出了一定程度的语言适应能力,并且随着某些模式的落伍和失宠而继续保持自身语言的现代化和时代性,目前没有迹象表明vue.js架构将来无法适应进一步发展。
使用场景:
如果你有一个传统的Web应用程序,并需要一个强壮稳健的应用程序层,那么vue.js 可能是一个很好的选择,它有清晰的模式,即使没有经验的团队也能正确或者错误的使用它。尽管vue UX框架没有开箱即用的功能,但在vue.js上也能大量持续性构建应用,这将有利于你的项目。

F. web前端主流框架主要有哪些

1、Bootstrap


AUI是最近流行起来的,作者声称是专为APIClound设计的一套框架,解决了许多移动端开发实际中遇到的许多问题,是一个纯CSS框架。使用容器+布局+模块的构建方式,JS辅助,更自由更灵活更易于扩展使用。遵循Google Material设计规范,完美适配各个机型。面向HTML5,使用CSS3实现动画交互,轻量级高性能。AUI是使用MIT License授权,你可以复制、出售。目前最新版本2.0。

8、Amaze UI

这是称为妹子UI的开源框架,据称是中国首个开源HTML5跨屏前端框架。妹子UI以移动优先为理念,从小屏逐渐到大屏,实现响应式网页。Amaze UI包含20+个CSS组件、20+个JS组件,更有多个包含不同主题的Web组件。相比国外框架,妹子UI关注中文排版提供本地化支持。面向HTML5开发,使用CSS3来实现动画交互,轻量级高性能。

9、Frozen UI

Frozen UI是一款开源,简单易用,轻量敏捷的移动端框架。基于手Q样式规范,目前全面应用于企鹅手Q增值业务中。基础样式效果简单色调清爽,社区活跃,组件自然不少。包括按钮、列表、表单、通知、提示条、弹出框、选项卡等等常用组件。还包括一个FrozenJs的JS组件库。可以在主流的Android和IOS上应用。基本样式使用离线包的方式减少请求提供快速接入方案。当然,根据网友反映,也存在大大小小的bug。不过总体来说,还是值得一用的。奇怪的是,Github上显示的最后更新时间是一年前,难道已经没人维护了吗?

# Running this will show the space usage of each folder in the current directory.# The -h option makes the report easier to read.# -s prevents recursiveness and shows the total size of a folder.# The star wildcard (*) will run on each file/folder in current directory. -sh *1.2G Desktop4.0K Documents40G Downloads4.0K Music4.9M Pictures844K Public4.0K Templates6.9M Videos

还有一个相似的命令 df(Disk Free),使用df会返回有关可用磁盘空间的各种信息。

G. Web前端主流框架—React的优缺点分析

React:


1.声明式设计:React采用声明范式,可以轻松描述应用。


2.高效:React通过对DOM的模拟,最大限度地减少与DOM的交互。


3.灵活:React可以与已知的库或框架很好地配合。



优点:


1.速度快:在UI渲染过程中,React通过在虚拟DOM中的微操作来实现对实际DOM的局部更新。


2.跨浏览器兼容:虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。


3.模块化:为你程序编写独立的模块化UI组件,这样当某个或某些组件出现问题是,可以方便地进行隔离。


4.单向数据流:Flux是一个用于在JavaScript应用中创建单向数据层的架构。


5.同构、纯粹的javascript:因为搜索引擎的爬虫程序依赖的是服务端响应而不是JavaScript的执行,预渲染你的应用有助于搜索引擎优化。6.兼容性好:比如使用RequireJS来加载和打包,而Browserify和Webpack适用于构建大型应用。它们使得那些艰难的任务不再让人望而生畏。


缺点:


React本身只是一个V而已,并不是一个完整的框架,所以如果是大型项目想要一套完整的框架的话,基本都需要加上ReactRouter和Flux才能写大型应用。


以上就是青藤小编关于Web前端主流框架:React的优缺点分析的相关分享,希望对大家有所帮助,想要了解更多相关内容,欢迎大家及时关注哦!

H. 前端框架是什么有什么用、有什么好处

前端框架一般指用于简化网页设计的框架,比如,jquery,extjs,bootstrap等等,这些框架封装了一些功能,比如html文档操作,漂亮的各种控件(按钮,表单等等)。

前段框架的好处:对于互联网的产品而言,前端用户体验往往决定了一款产品的竞争力和吸引力;而对于前端工程师来说,考虑的问题更为复杂,他们既要为网站上提供的产品和服务实现一流的Web页面、优化代码,保证体验的最佳,更要考虑与市面上各大浏览器的兼容性,还需顾及Web前端表现层和前后端交互的架构,以及模块化、通用类库、框架编写等一系列问题,由此提升前端开发的效率,降低开发成本和周期。

I. 前端开发都需要学习什么框架

想要成为一个好的前端程序员,需要掌握的技术还是比较多的,比如HTML5开发、JavaScript、Veu.js框架开发等等。

前端就是展现给用户浏览的部分。我们通常说的前端,其实是指前端开发,也就是创建PC端或移动端等前端界面给用户的过程,通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。

学习的内容包括:

①计算机基础以及PS基础

②前端开发基础(HTML5开发、JavaScript基础到高级、jQuery网页特效、Bootstrap框架)

③移动开发

④前端高级开发(ECMAScript6、Veu.js框架开发、webpack、前端页面优化、React框架开发、AngularJS 2.0框架开发等)

⑤小程序开发

⑥全栈开发(MySQL数据库、Python编程语言、Django框架等)

⑦就业拓展(网站SEO与前端安全技术)

互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。

想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。

祝你学有所成,望采纳。

J. 推荐几个流行的WEB UI开源框架

1.Aliceui
Aliceui是支付宝的样式解决方案,是一套精选的基于 spm 生态圈的样式模块集合,是 Arale 的子集,也是一套模块化的样式命名和组织规范,是写 CSS 的更好方式。
gitHub地址:https://github.com/aliceui/aliceui.github.io
2.Amazeui
Amaze UI 是一个轻量级、 Mobile first 的前端框架, 基于开源社区流行前端框架编写的。
官网地址:http://amazeui.org/
3.sui
SUI是一套基于bootstrap开发的前端组件库,同时她也是一套设计规范。
通过SUI,可以非常方便的设计和实现精美的页面。
官网地址:http://sui.taobao.org/
同时sui还有移动端版本msui,msui是阿里巴巴共享业务事业部UED团队的作品。目的是为了手机H5页面提供一个常用的组件库,减少重复工作。
地址:http://m.sui.taobao.org/
4.FrozeUI
Frozen UI是一个开源的简单易用,轻量快捷的移动端UI框架。基于手Q样式规范,选取最常用的组件,做成手Q公用离线包减少请求,升级方式友好,文档完善,目前全面应用在腾讯手Q增值业务中。
官网地址:http://frozenui.github.io/
5.uiKit
uiKit是一款轻量级、模块化的前端框架,可快速构建强大的web前端界面。
官网地址:http://www.getuikit.net/
6.H-ui
H-ui是轻量级前端框架,简单免费,兼容性好,适用于中国网站。
官网地址:http://www.h-ui.net/
7.Weui
weUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、 progress、 toast、article、actionsheet、icon等各式元素。
官网地址:https://github.com/weui/weui
8.layui
Layui 诞生于2016年金秋,是一款带着浓烈情怀的国产前端UI框架,她追求极简,又不失丰盈的内在,说她是史上最轻量的结晶,似乎并不为过。一切都源自于她对原生态的执着,对前端社区的那些噪杂声音的过滤,以及她本身的精心雕琢。
官网地址:http://www.layui.com/
9.YDUI Touch
YDUI Touch 专为移动端打造,在技术实现、交互设计上兼容主流移动设备,保证代码轻、性能高;使用 Flex 技术,灵活自如地对齐、收缩、扩展元素,轻松搞定移动页面布局;实现强大的屏幕适配布局,等比例适配所有屏幕。什么?用得不开心?轻松切换 px;自定义Javascript组件、Less文件、Less变量,定制一份属于自己的YDUI;