精华内容
下载资源
问答
  • 使用Angular.js前端开发框架的原因

    千次阅读 2015-08-17 11:51:26
    简单来说Angular.js是google开发者设计和开发的一套前端开发框架,帮助你简化前端开发的负担。当然,这里有很多其它的前端开发框架,但是如何选择合适的前端框架对于我们这些开发人员来说就不是那么容易了!在今天的...
    如果你不熟悉什么是Angular.js的话,小编我强烈推荐你阅读 Javascript教程:AngularJS的五个超酷特性。简单来说Angular.js是google开发者设计和开发的一套前端开发框架,帮助你简化前端开发的负担。当然,这里有很多其它的前端开发框架,但是如何选择合适的前端框架对于我们这些开发人员来说就不是那么容易了!在今天的这篇文章中,我们将介绍三个你应该使用Angular.js的重要原因,希望大家觉得有帮助!
    

    原因一:Google开发的框架

    要知道开源界的很多框架都是开发人员由于个人兴趣或者激情而开发出来的,比如,Cappucino 还有 Knockout。而anguar.js是由互联网巨人Google组织开发的。这意味这你有更加强大的社区支持。谁都不希望第一天开始使用一个框架,第二天发现这个框架已经被遗弃了吧!

    其实这不是Google第一次尝试开发javascript的前端框架,大家可能还记得Web Toolkit,用来帮助你将java代码转化为javasscript代码。过去google的wave推广用它来开发项目。随着HTML5,CSS3和javascript的发展,Google发现web应用并非意味着只使用纯Java来实现。

    AngularJS将帮助标准化的开发web应用结构并且提供了针对客户端应用的未来开发使用的模板

    versin 1.0 发布在6个月前,已经被很多的应用实践过了,包括商业应用及其产品。Angularjs作为可选的架构必将成为整个开发社区的明星。因为AngualrJS是google开发的产品,所以注定了你将有一个坚实的基础,相信它能够成为你的最佳选择!

    原因二:AngularJS非常全面

    类似 Backbone 或者 JavaScriptMVC,anguar是一个快速的前端开发解决方案。没有其它的插件或者架构足以开发数据驱动的web应用。下面列出了AnguarJS的一些特性:

    方便的REST: RESTful逐渐成为了标准的服务器和客户端沟通的方式。使用一行javascript代码,你就可以快速的从服务器端得到数据。AugularJS将这些变成了JS对象,作为Model,遵循MVVM(model view view-model)设计模式。

    MVVM救星:Model将和ViewModel互动(通过$scope对象),将监听Model的变化。这些可以通过View来发送和渲染,由HTML来展示你的代码。View可以通过$routeProvider对象来支配,所以你可以深度的链接和组织你的View和Controller,将他们变成导航URL。AngualrJS同时提供了无状态的Controller,可以用来初始化和控制$scope对象。

    数据绑定和依赖注入:在MVVM设计模式中的任何东西无论发生任何事情都自动的和UI通信。这帮助我们去除了wrapper,getter/setter方法或者class定义。AngularJS将帮助我们处理所有的这些内容,所以你可以处理数据像处理基本javascript数据类型,例如,数组一样简单。当然你也可以通过自定义处理复杂数据。正因为所有事情的发生都是自动的,所以你不必调用一个main()来执行你的代码,而是通过依赖关系来驱动。

    可扩展的HTML:大多数的网站都是使用非语义的<div>标签来搭建的。你需要自己在CSS的class中定义相关的DOM层次结构。而使用AngularJS,你可以操作XML一样操作HTML,给你无穷的方式来完成标签和属性定义。AngularJS通过自己的编译器和directives来完成相关的设置。

    使用HTML模板:如果你曾经使用过Mustache , Hogan.js,或者handlerbars的话,你就可以快速的理解AngularJS的模板引擎语法,应为它是纯HTML的。AngularJS通过DOM浏览来完成此类功能,使用上面提到的directives。模板被作为DOM元素传递到Angular的编译器中,可以被扩展,执行或者重用。这很关键,这样一来你就拥有了DOM组件,而非字符串,允许你直接的操作扩展DOM树。

    企业级别的测试:AnguarJS并不依赖于第三方的插件或者是框架,包括测试。如果你熟悉QUnit, Mocha 或者 Jasmine的话,那么对于理解Angular的单元测试和Scenario Runner来说就非常简单。

    以上的这些基本的原则能够帮助知道你使用Angular来创建高效性能可维护的代码。只要你有代码保存数据,AnguarJS会帮助你处理所有的重量级内容,提供一个富客户端的超棒体验!

    原因三:花几分钟就可以开始开发

    学习Angular非常简单。添加几个属性到你的HTML中,你可以使用5分钟搭建一个应用!

    添加ng-app directive到<html>标签,这样Angular知道应该运行:

        <html lang="en" ng-app>

    添加Angular<script>标签到<head>标签里:

        <head>
        ...meta and stylesheet tags...
         <script src="lib/angular/angular.js"></script>

    添加正常的HTML标签。AngularJS directive可以在HTML属性中被访问,而表单式将使用两个大括号来标示:

        <body ng-controller="ActivitiesListCtrl">
          <h1>Today's activities</h1>
          <ul>
           <li ng-repeat="activity in activities">
             {{activity.name}}
           </li>
          </ul>
        </body>
        </html>

    ng-controller directive设置了一个名字空间,这里我们可以添加angular的相关javascript来处理数据和表达式。ng-repeat是一个angular的重复对象 网站开发,可以用来创建一系列的对象元素。

    当你想从Anguar中获取数据,你使用一个对应名字的controller方法,如下:

        function ActivitiesListCtrl($scope) {
          $scope.activities = [
            { "name": "Wake up" },
            { "name": "Brush teeth" },
            { "name": "Shower" },
            { "name": "Have breakfast" },
            { "name": "Go to work" },
            { "name": "Write a Nettuts article" },
            { "name": "Go to the gym" },
            { "name": "Meet friends" },
            { "name": "Go to bed" }
          ];
         }

    这里我们创建了一个方法,名字和前面的ng-controller directive一样,这样我们页面可以找到对应的Angular方法来执行。我们传递了$(scope)对象来访问模板中的activities列表。提供了activities对应的name,我们在页面中使用"{{expression}}"表达式展现出来。

    或者你保存数据在服务器上,我们同样可以使用AJAX获取数据:

        function ActivitiesListCtrl($scope) {
          $http.get('activities/list.json').success(function (data) {
            $scope.activities = data;
          }
        }

    这里我们简单的使用指定的HTTP GET方法替换了本地的javascript数据。传递了文件名字来获取相关数据。这和jQuery的方式非常类似。

    以上我们使用success方法确保数据返回,并且将数据绑定到了$scope上。

    静态的列表显示的很好,但是这里我们希望能够根据用户选择自动排序。这里我们添加一个简单 网站公司的下拉菜单:

        <h3>Sort:</h3>
        <select>
           <option value="name">Alphabetically</option>
         </select>

    添加directive:

        <select ng-model="sortModel">

    最后,我们修改<li>标签来识别sortModel:

        <li ng-repeat="activity in activities | orderBy: sortModel">

    搞定!关键是添加在ng-repeat里的过滤器。orderBy过滤器帮助我们通过选择的内容来过滤内容。

    注意我们代码中没有监听用户的互动事件。没有使用callback或者事件处理。所有的这些都被Angular内部处理了。

    当然AngularJS提供了我们一个完整的教程,帮助你创建一个web应用,如果大家有兴趣可以看看!

    总结

    AngularJS快速的成为了javascript的主流框架,帮助你专业的从事web开发

    如果你寻找或者评估一个成熟的js前端框架的话,AngularJS应用成为你的评估对象之一。最重要的是:免费下载 - AngularJS.org。

    原文链接:http://gbin1.com/gb/share/262.htm
    展开全文
  • 搭建webpack vue.js前端开发框架实战
  • 前端开发框架对比

    2021-01-30 14:43:09
    为代表的前端开发框架如雨后春笋般挤入视野,可谓应接不暇。不论是桌面浏览器端还是移动端都涌现出很多优秀的框架,极大丰富了开发素材,也方便了大家的开发。这些框架各有特点,本文对这些框架进行初步的介绍与比较...
  • 前端开发框架vue.js

    2020-04-02 10:25:19
    Vue是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。
  • 前端开发框架05. 附录 01. 概述 作为前端开发者,各种框架的层出不穷,促使我们要不断学习才能防止落后,但是我们不可能做到每个框架都有学习的时间,我们只需要掌握流行的,坑少的即可。从以下三个方面了解目前...

    00. 目录

    01. 概述

    作为前端开发者,各种框架的层出不穷,促使我们要不断学习才能防止落后,但是我们不可能做到每个框架都有学习的时间,我们只需要掌握流行的,坑少的即可。从以下三个方面了解目前流行的前端开发框架。

    02. 跨多平台开发框架

    (1).uni-app--开发一次,多端覆盖uni-app 是DCloud公司使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台。

    在这里插入图片描述

    框架图

    Github地址:https://github.com/dcloudio/uni-app

    官网地址:https://uniapp.dcloud.io

    如果学过vue,会微信小程序开发,了解mpvue,很容易上手。强烈推荐学习。

    (2).Taro–一次编写,多端运行Taro 是由京东 - 凹凸实验室打造的一套遵循 React 语法规范的多端统一开发框架。通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信小程序、H***pp、快应用等)运行的代码。

    在这里插入图片描述

    Github地址:http://github.com/nervjs/taro

    官网地址:http://taro.aotu.io/

    多端 UI 组件库:https://aotu.io/notes/2018/08/27/the-birth-of-taro-ui/

    如果你会React ,很容易上手Taro。

    03. 移动端混合开发框架

    混合开发是指JS开发+原生渲染 一套代码,iOS 安卓都可使用。

    (1).Flutter–极速构建漂亮的原生应用Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。Flutter Framework是一个完全由Dart语言构建的SDK,它实现了一整套自底而上的基础库。

    在这里插入图片描述

    框架结构

    官网地址:https://flutterchina.club

    (2).React Native--使用JavaScript和React编写原生移动应用React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。

    在这里插入图片描述

    框架结构

    Github地址:https://github.com/facebook/react-native
    官网地址:https://reactnative.cn

    (3).Weex–Web 开发体验来开发高性能原生应用的框架

    Weex 致力于使开发者能基于通用跨平台的 Web 开发语言和开发经验,来构建 Android、iOS 和 Web 应用。简单来说,在集成了 WeexSDK 之后,你可以使用 JavaScript 语言和前端开发经验来开发移动应用。

    Vue.js 和 Rax 是最广泛应用于 Weex 开发的前端框架,也是目前功能最全、最稳定的方案。

    在这里插入图片描述

    框架结构

    Github地址:https://github.com/apache/incubator-weex?spm=a2c7j.-zh-.0.0.45dac8eec3weZx

    官网地址:https://weex.apache.org/zh/

    04. 前端开发框架

    (1).Vue–渐进式JavaScript 框架
    在这里插入图片描述

    Vue框架是用于构建用户界面的渐进式框架。它是可以自底向上逐层应用。Vue 的核心库只关注视图层,上手简单而且还便于与第三方库进行整合。

    Github地址:https://github.com/vuejs/vue

    官网地址:https://weex.apache.org/zh/

    (2).React–用于构建用户界面的 JavaScript 库

    React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据改变时 React 能有效地更新并正确地渲染组件。

    Github地址:https://github.com/facebook/react/

    官网地址:https://react.docschina.org

    (3).Angular–一套框架,多种平台移动端 & 桌面端

    在这里插入图片描述

    Angular是一个强大的前端框架,其强大之处主要是可以把静态页面与动态数据绑定起来。首先angular是一个mvc框架,它与jquery不同之处在于,前者致力于mvc代码解耦,采用model,controller以及view方式去组织代码,而后者提供给你了很多APi函数,你可以不用写很多原生js去实现比较复杂的效果,比如说动画,$.animate,

    在这里插入图片描述
    Github地址:https://github.com/angular/angular

    官网地址:https://www.angular.cn

    前端框架少不了UI组件框架的结合。

    05. 附录

    参考:https://my.oschina.net/u/3308739/blog/3098156

    展开全文
  • 近几年随着 jQuery、Ext 以及 CSS3 的发展,以 Bootstrap 为代表的前端开发框架如雨后春笋般挤入视野,可谓应接不暇。不论是桌面浏览器端还是移动端都涌现出很多优秀的框架,极大丰富了开发素材,也方便了大家的开发...

    转载自:http://www.ibm.com/developerworks/cn/web/1404_wangfx_jsframeworks/

    近几年随着 jQuery、Ext 以及 CSS3 的发展,以 Bootstrap 为代表的前端开发框架如雨后春笋般挤入视野,可谓应接不暇。不论是桌面浏览器端还是移动端都涌现出很多优秀的框架,极大丰富了开发素材,也方便了大家的开发。这些框架各有特点,本文对这些框架进行初步的介绍与比较,希望能够为大家选择框架提供一点帮助,也为后续详细研究这些框架的抛砖引玉。

    JavaScript & CSS

    目前前端框架主要采用 JavaScript+CSS 模式,我们先来了解一下这两者。

    预准备之 JavaScript

    目前主流的 JavaScript 框架排名中,jQuery 和 Ext 可算是佼佼者,获得了用户的广泛好评。国内的一些框架很多也是仿照 jQuery 对 JavaScript 进行了包装,不过这些框架的鼻祖 YUI 还是坚持用自己的 JavaScript 类库。

    jQuery 是目前用的最多的前端 JavaScript 类库,据初步统计,目前 jQuery 的占有率已经超过 46%,它算是比较轻量级的类库,对 DOM 的操作也比较方便到位,支持的效果和控件也很多。同时,基于 jQuery 有很多扩展项目,包括 jQuery UI(jQuery 支持的一些控件和效果框架)、jQuery Mobile(移动端的 jQuery 框架)、QUnit(JavaScript 的测试框架)、Sizzle(CSS 的选择引擎)。这些补充使得 jQuery 框架更加完整,更令人兴奋的是,这些扩展与目前的框架基本都是兼容的,可以交叉使用,使得前端开发更加丰富。

    Ext 是 Sencha 公司推崇的 JavaScript 类库,相比 jQuery,Ext JS 更重量级,动辄数兆的文件,使得 Ext 在外网使用的时候会顾虑很多。但是,另一方面,在 Ext JS 庞大的文件背后是 Ext JS 强大的功能。Ext JS 的控件和功能可以说强大和华丽到了让人发指的程度。图表、菜单、特效,Ext JS 的控件库非常丰富,同时它的交互也非常强大,独立靠 Ext JS 几乎就可以取代控制层完成于客户的交互。强大的功能,丰富的控件库,华丽的效果也使得 Ext JS 成为内网开发利器。

    框架鼻祖 YUI 也有自己的 JavaScript 类库,DOM 操作和效果处理也还比较方便,功能和控件也很齐全,但是相比 jQuery 和 Ext JS 显得比较中庸一些。随着 Yahoo!的没落,YUI 的呼声也逐渐被新起的框架淹没,想来也让人惋惜。

    除了上述的三个 JavaScript 类库,还有 Dojo、Prototype、Mootools 等众多类库,由于本文讨论的框架多采用上述框架,所以其他框架暂不讨论。

    预准备之 CSS

    随着 CSS3 的推出,浏览器对样式的支持更加上了一个层次,效果更加出众。各框架也纷纷开发出基于 CSS3 的样式,让框架更加丰富。

    对于 CSS3,更是推出了一些预编译的扩展框架,主要是 LESS、Sass 和 Compass(Compass 是基于 Sass 的扩展)。可以方便地进行变量定义,格式引用,函数定义等操作,并内置了大量的效果。让您的 CSS 开发效率提升一个档次。根据 Chris Coyier 的比较,Sass+Compass 几乎完胜 LESS。有兴趣的读者可以自行参考http://css-tricks.com/sass-vs-less/。由于 Sass 是用 Ruby 开发的,所以也需要相应的 Ruby 环境将文件编译成 CSS 文件。

    国内外前端开发框架对比

    首先我们先对目前国内外主流前端开发框架做一个基本的了解,之后再对他们进行一个直观的对比。

    Bootstrap

    Bootstrap(http://www.bootcss.com)是目前桌面端最为流行的开发框架,一经 Twitter 推出,势不可挡。Bootstrap 主要针对桌面端市场,Bootstrap3 提出移动优先,不过目前桌面端依然还是 Bootstrap 的主要目标市场。Bootstrap 主要基于 jQuery 进行 JavaScript 处理,支持 LESS 来做 CSS 的扩展。如果想要在 Bootstrap 框架中使用 Sass,则需要通过 Bootstrap-Sass(https://github.com/thomas-mcdonald/bootstrap-sass)项目增加兼容。Bootstrap 框架在布局、版式、控件、特效方面都非常让人满意,都预置了丰富的效果,极大方便了用户开发。在风格设置方面,还需要用户在下载时手动设置,可配置粒度非常细,相应也比较繁琐,不太直观,需要对 Bootstrap 非常熟悉配置起来才能得心应手。

    在浏览器兼容性方面,目前 Firefox, Chrome, Opera, Safari, IE8+等主流浏览器 Bootstrap 都提供支持。但是在 IE 支持方面略显短板,对 IE6 和 IE7 支持都不是特别理想。在 Bootstrap3 中甚至放弃了对 IE6、IE7 的支持。不过在国内,根据 CNZZ 的统计,目前 IE 的占有率仍然达到 46.98%,同时大量国内浏览器也是采用 IE 内核。这让我们在使用 Bootstrap 的时候总是有所顾忌。在 Bootstrap2 上面,可以通过 BSIE 项目增加对 IE6 的支持,但是也不能支持全部效果。

    在框架扩展方面,随着 Bootstrap 的广泛使用,扩展插件和组件也非常丰富,涉及显示组件、兼容性、图表库等各个方面。

    图 1. Bootstrap 的布局与效果示例
    图 1. Bootstrap 的布局与效果示例

    jQuery UI

    jQuery UI(http://jqueryui.com/)是 jQuery 项目组中对桌面端的扩展,包括了丰富的控件和特效,与 jQuery 无缝兼容。同时,jQuery UI 中预置了多种风格供用户选择,避免了千篇一律。如果您对预置的风格不满意,还可以通过 jQuery UI 的可视化界面,自助对 jQuery UI 的显示效果进行配置,非常方便,够高端大气上档次。

    图 2. jQuery UI 的效果示例
    图 2. jQuery UI 的效果示例

    jQuery Mobile

    jQuery Mobile (http://jquerymobile.com)是 jQuery 项目对移动端的扩展,目前支持 iOS, Android, Windows Phone, Black Berry 等主流平台。具体支持情况可以参见http://jquerymobile.com/gbs/。另外 jQuery Mobile 在布局,控件和特效方面都很慷慨。在风格方面,与 jQuery UI 类似,除了预置的风格效果之外,还支持用户可视化配置的效果。

    可圈可点的是,jQuery Mobile 还与 Codiqa 无缝连接,用户可以直接通过拖拽实现对界面的设计,以及代码的生成。

    图 3. jQuery Mobile 的效果示例
    图 3. jQuery Mobile 的效果示例

    Sencha Ext JS

    Sencha Ext JS(http://www.sencha.com/products/extjs)是 Sencha 基于 Ext JS 开发的前端框架,内容极其丰富,控件、特效等支持非常非常丰富,表格、图画、报告、布局、甚至数据连接,无所不包。只有您想不到,没有它办不到。基于 Sass 和 Compass,使得用户对格式的修改和特效制作更加方便。此外,Sencha 有丰富的产品线,Sencha Desktop Packager 可以让您的应用拥有桌面应用的效果, Sencha Animator 基于 CSS3 更加方便用户对特效的制作,不光支持桌面端,移动端更是不在话下。在 Sencha 看来,用 Animator 做游戏都是轻松拿下。Sencha Space 是基于 HTML5,提供制作跨平台应用的利器。同时 Sencha Ext JS 对主流浏览器的支持也非常理想。

    Sencha Ext JS 有着耀眼的光辉,但是光芒背后总归有点阴影。除了之前提到的 Ext JS 太过重量级之外,商业化是 Sencha 的另一把利剑。帮助 Sencha 披荆斩棘之时,也把大把的码农砍在马下。Sencha 规定,凡是商业化的应用,都需要付费。另外,Sencha 的辅助产品也全部收费,否则只能是试用版。这里的辅助产品,其实包括了上面提到的所有产品。

    图 4. Sencha Ext JS 的效果示例
    图 4. Sencha Ext JS 的效果示例

    Sencha Touch

    Sencha Touch(http://www.sencha.com/products/touch)是 Sencha 面向移动端的开发框架,基于 HTML5 技术,保证了对大多数移动平台的支持。Sencha Touch 包括丰富的布局,控件和特效。并且 Sencha Touch 对响应式支持的很好,在不同设备上,甚至在横屏和竖屏时都会显示不同的效果。这种效果是 Sencha Touch 控件自适应的。Sencha Touch 也实现了对大多数移动设备的支持。Sencha Architect 是对移动端的可视化编辑工具,有着不朽的效果,但也有着不菲的身价。

    同时 Sencha Touch 也支持混合式 App 创建,也即是基于 Web 技术,配合 PhoneGap (http://phonegap.com/)或者 Cordova(http://cordova.apache.org/)之类的工具,就可以构建移动应用。Sencha Touch、jQuery Mobile、Foundation 这些前端框架负责界面和效果的编写,PhoneGap、Cordova 框架则允许通过 JavaScript 和其他接口对手机设备的调用,开创了新的移动端开发模式,真正实现了移动端的跨平台开发。

    Sencha GXT

    Sencha GXT(http://www.sencha.com/products/gxt/)是 Sencha 对 Google 的 Web Toolkit 框架的扩展。可以支持通过 Java 文件的解析,生成 HTML5 页面文件,可以与 Java 环境无缝集成。有着丰富的控件和特效,并且可以无缝调用 Google 地图等 Google 应用。虽然开发时不是特别直观,但是效果还是非常丰富的。与 Sencha Ext JS 丝毫不显弱势。

    图 5. Sencha GXT 的效果示例
    图 5. Sencha GXT 的效果示例

    Dojo

    目前唯一能与 Sencha Ext JS 一较高下的框架就只有 Dojo(http://dojotoolkit.org)了。抱着 IBM, VMWare 等众多大腿,Dojo 的一颦一笑都额外惹人注目。Dojo 项目的产品线和功能也特别丰富。首先,Dojo 有自己的 DOM 解析器 Nano,是 DOM 解析和处理的内核。此外,Dojo 的 Web 框架有非常丰富的布局、版式、控件以及特效,对多语言以及图表的扩展支持都非常好,并支持对地图的操作。大家可以查看它的演示(http://demos.dojotoolkit.org/demos/),与 Ext JS 的效果进行比较。此外,Dojo 还有自己的图形化设计和开发工具 Maqetta,可以通过拖拽实现设计。Dojo 的风格设置不是在下载的时候指定的,而是通过引用不同的 CSS 格式来实现。

    Dojo 虽然比 jQuery 重量级不少,但是比 Ext JS 还是轻量级一些,至少在文件大小上。另外,Dojo 还有自己的 CDN 机制,只要通过配置,就可以对 Dojo 文件进行 CDN。由于有 IBM,Oracle 等大佬的支持,Dojo 在与 Spring 等现有框架支持方面也表现得很理想。

    图 6. Dojo 的效果示例
    图 6. Dojo 的效果示例

    Dojo Mobile

    Dojo Mobile(http://dojotoolkit.org/features/mobile)是 Dojo 推出的移动端框架,表现也很不俗。在布局,控件,特效方面都下了不少功夫。并支持与所用平台匹配的风格设置,如果您不喜欢还可以引用不同 CSS 文件来实现不同效果。

    除了可以在移动端的浏览器上使用,Dojo Mobile 也支持与 PhoneGap 无缝连接,可以通过 Dojo Mobile 开发移动 App 应用。同时也具有不错的响应性(在宽屏和窄屏上的显示效果不同)。

    图 7. Dojo Mobile 在 IPhone 上的效果示例
    图 7. Dojo Mobile 在 IPhone 上的效果示例

    Mootools

    Mootools(http://mootools.net)可以说是目前最轻量级的前端框架,内核 js 压缩完之后只有 8k,完整版压缩之后也不到 100k,远比其他框架要小很多。Mootools 有自己的面向对象设计的内核 Mootools Core。伴随着最小的文件大小,框架的功能比其他框架也要弱不少,只有在控件和特效上有少量支持。

    图 8. Mootools 效果示例
    图 8. Mootools 效果示例
    图 8. Mootools 效果示例

    Prototype JS

    Prototype JS(http://prototypejs.org)也是一个简洁的框架,有着丰富的对 DOM 操作的功能,对 Ajax 和 JSON 支持得都非常好,在使用上与 jQuery 相比也相差不多。作为 Rails 默认的 JavaScript 框架,相信对广大开发人员也很有借鉴意义的。

    在扩展方面,Scriptaculous(http://script.aculo.us/)对 Prototype JS 进行了丰富的扩展,主要是在动画特效、Ajax 控制、DOM 操作、单元测试方面等。

    YUI

    YUI(http://yuilibrary.com)作为开源前端框架的鼻祖,在框架上的功力非常之深。有着自己的解析 DOM 的核心框架,并且在特效、动画、图表等方面都有丰富的扩展,并可以通过 YQL 直接访问 Yahoo!的数据。在用户经常使用的功能方面都有着不错的表现。

    与 jQuery 灵活的语法相比,YUI 显得更加中规中矩,在代码组织、结构和模式方面都更加讲究,更体现出工程师的严谨。同时 YUI 也有着丰富的产品线,拥有测试框架 YUITest、文档生成框架 YUIDoc、自动构建框架 YUI Build,满足项目开发各方面的需求。随着 Yahoo!的没落,YUI 也感觉逐渐步入暮年,但作为相当严谨完整的前端框架鼻祖,足以秒杀其他。

    图 9. YUI 的效果示例
    图 9. YUI 的效果示例

    Foundation

    Foundation(http://foundation.zurb.com/)是 ZURB 旗下的主要面向移动端的开发框架,但是也保持对桌面端的兼容,目前已经更新到 Foundation4 版本。框架主要采用 jQuery 和 Zepto(语法酷似 jQuery,但比 jQuery 更轻量级)作为 JavaScript 基础,CSS 则基于 Sass、Compass,有着很好的扩展性,并有着丰富的布局,版式和多种多样的控件与特效,非常方便开发者使用。控件的响应式效果也帮助用户识别不同浏览器效果。

    ZURB 作为一个完整的项目组,包括很多原型、设计、构建、分析等一系列工具,为用户提供完整的服务。当然,有很多服务是要收费的。

    Foundation 主要以移动端风格为主,如图 10 所示。

    图 10. Foundation 的风格示例
    图 10. Foundation 的风格示例

    Kissy

    Kissy(http://docs.kissyui.com)是阿里集团自主开发的前端框架,目前在淘宝网、一淘网等阿里系网站上得到不少应用。Kissy 框架模仿 jQuery 编写了自己的内核 Kissy Core,用于对 DOM 的解析,Ajax 处理等。同时,有着丰富的控件,并实现了一些动画效果和特效。同样,在 Kissy 的控件中也可以看到 Bootstrap 等国外框架的影子。此外,Kissy abc 项目工具可以帮助用户实现自动化构建,并有很多扩展组件方便用户使用。

    应该说 Kissy 是目前国内开发的最好的前端框架,在实际使用中也经过了检验,但跟国外成熟框架相比还是有一定差距。

    图 11. Kissy 的效果示例
    图 11. Kissy 的效果示例

    Kissy Mobile

    Kissy Mobile(http://mobile.kissyui.com)是 Kissy 推出的移动版框架,意在开发出可以在移动浏览器和移动应用上都可以使用的框架,不过目前项目内容还比较少,控件和特效也比较少,也不具有响应式的效果。

    图 12. Kissy Mobile 效果示例
    图 12. Kissy Mobile 效果示例

    Qwrap

    Qwrap(http://www.qwrap.com/)是百度有啊团队推出的 JavaScript 框架,现在被收入 360,被广泛应用与 360 产品中。Qwrap 综合 jQuery、Prototype、YUI 特点,对 JavaScript 进行了封装。但是,如果要把 Qwrap 算成一个前端开发框架还是有些牵强,因为除了 JavaScript 类库之外,Qwrap 基本乏善可陈,还处于发展阶段。

    Tangram

    Tangram(http://tangram.baidu.com)是百度推出的另一个 JavaScript 框架,被广泛应用于百度系旗下的产品,与 Qwrap 类似,Tangram 也只能算是一个 JavaScript 框架,对 JavaScript 做了不少扩展,但是作为前端开发框架还是显得比较单薄。基于此,百度公司继续推出了两个基于 Tangram 的项目,Magic 和 Baidu Template。Magic 项目基于 Tangram 对控件和特效都做了扩展,增加了 10 个新的控件。Baidu Template 则更多是针对移动端开发的扩展,目前对于大多数主流移动设备和操作系统都有支持。

    了解完这些框架,我们从平台、基础技术、布局、CSS、控件、特效和风格设置等几个方面来对它们进行一个基本比较:

    表 1.国内外主流前端开发框架对比
    框架名称 主要
    平台
    基础技术 布局 CSS
    版式
    控件 特效 风格设置
    桌面端 jQuery, LESS 丰富 丰富 丰富 丰富 手动配置
    桌面端 jQuery - - 丰富 丰富 预置/可视化配置
    移动端 jQuery 丰富 - 丰富 丰富 预置/可视化配置
    桌面端 Ext JS, Sass 丰富 - 极丰富 极丰富 预置
    移动端 HTML5 丰富 - 丰富 丰富 -
    桌面端 Java, HTML5 丰富 - 丰富 丰富 -
    桌面端 Dojo Nano 丰富 丰富 极丰富 极丰富 CSS 代码
    Mobile 移动端 Dojo Nano 丰富 - 丰富 丰富 内置与移动端匹配
    桌面端 Mootools Core - - 少量 少量 -
    桌面端 Prototype - - 少量 丰富 -
    桌面端 YUI 丰富 - 丰富 丰富  
    移动端 jQuery/Zepto, Sass 丰富 丰富 丰富 丰富  
    桌面端 Kissy Core - - 丰富 -
    移动端 Kissy - - -
    桌面端 QWrap - - -  
    桌面端 Tangram - -  

    由此我们可以看到,对于桌面端,目前 Bootstrap 和 jQuery UI 已经可以满足大多数的开发需求,也在业界得到了广泛的应用,有着丰富的组件和扩展,以及相对简洁的语法和操作。应对我们的基本需求已经足够了。如果您对前端界面的效果有比较高的要求,希望可以应用像结构树这样比较复杂的控件,建议您考虑 Dojo,抱了这多年的大腿也不是白抱的,效果还是很不错的。对于,局域网的应用,还可以考虑 Sencha Ext JS 框架,效果更加震撼,但是对网络的要求也更高。如果这些还是不能满足您内心的狂野,那只能建议您使用 Flex 或者 SilverLight 了。相反,如果您对网络速度非常敏感,希望找一个迷您并且功能不错的框架,那 Mootools 会是您不错的选择。如果您很怀旧,也可以使用 YUI,虽然曲线不够性感,但是内容很丰富。如果您是一个 Ruby on Rails 的开发人员,建议您可以先看一下 Prototype 框架,毕竟是默认的框架。如果您对上面说到的框架都不满意,那建议您体验一下国内的框架一段时间,然后再回过头来看刚才说到的框架,相信您一定会有一种豁然开朗的感觉。

    对于移动端的应用,jQuery Mobile, Foundation 依然是轻量级选择,Dojo Mobile 和 Sencha Touch 会为您提供更加强大的功能。同时,您还可以与 PhoneGap 和 Cordova 框架结合使用,利用 Web 的技术开发移动应用。不过这种混合式开发模式兴起时间并不长,还在不断发展中。



    展开全文
  • 十大web前端开发框架

    万次阅读 2017-04-23 14:40:30
    一个前端开发框架其实就是一系列产品化的HTML/CSS/JavaScript组件的集合,我们可以在设计中使用它们。前端开发框架有很多,其中有一些写得很棒。为了大家的使用便利,下文列举了目前最强大应用最广泛的几款前端开发...
     
    
    一个 前端开发框架其实就是一系列产品化的HTML/CSS/JavaScript组件的集合,我们可以在设计中使用它们。前端开发框架有很多,其中有一些写得很棒。为了大家的使用便利,下文列举了目前最强大应用最广泛的几款前端开发框架。记住,这些框架并不仅仅是CSS 栅格之类的一些东西,它们包括的是整套的前端开发框架。
     
     
    1.  Bootstrap
     
    Boostrap绝对是目前最流行用得最广泛的一款框架。它是一套优美,直观并且给力的web设计工具包,可以用来开发跨浏览器兼容并且美观大气的页面。它提供了很多流行的样式简洁的UI组件,栅格系统以及一些常用的JavaScript插件。
     
    Bootstrap是用动态语言LESS写的,主要包括四部分的内容:
     
    脚手架——全局样式,响应式的12列栅格布局系统。记住Bootstrap在默认情况下并不包括响应式布局的功能。因此,如果你的设计需要实现响应式布局,那么你需要手动开启这项功能。
    基础CSS——包括基础的HTML页面要素,比如表格(table),表单(form),按钮(button),以及图片(image),基础CSS为这些要素提供了优雅,一致的多种样式。
    组件——收集了大量可以重用的组件,如下拉菜单(dropdowns),按钮组(button groups),导航面板(navigation control)——包括:tabs,pills,lists标签,面包屑导航(breadcrumbs)以及页码(pagination),缩略图(thumbnails),进度条(progress bars),媒体对象(media objects)等等。
    JavaScript——包括一系列jQuery的插件,这些插件可以实现组件的动态页面效果。插件主要包括模态窗口(modals),提示效果(tool tips),“泡芙”效果(popovers),滚动监控(scrollspy),旋转木马(carousel),输入提示(typeahead),等等。
    Bootstrap已经足够强大,能够实现各种形式的 Web 界面。为了更加方便地利用Bootstrap进行开发,很多工具和资源可以用来配合使用,下面列举了其中的一部分工具和资源。
     
    jQuery UI Bootstrap —— 对于jQuery和Bootstrap爱好者来说这是个非常好的资源,能够把 Bootstrap的清爽界面组件引入到jQuery UI中。
    jQuery Mobile Bootstrap Theme —— 和上面提到的jQuery UI主题类似,这是一个为jQuery Mobile建立的主题。如果你想让用Bootstrap开发的网站在手机端也可以优雅访问,那么这个资源对你来说很方便易用。
    Fuel UX —— 它为Bootstrap添加了一些轻量的JavaScript控件。Fuel UI 安装,修改,更新以及优化都很简单方便。
    StyleBootstrap.info —— Bootstrap提供了自己的几种界面风格,StyleBootstrap提供了更多的配色选项,并且你可以给每个组件都应用不同的配色。
    BootSwatchr —— 利用这个工具你可以立刻查看主题修改后的效果。对于每一次变动的效果,这个应用都会生成一个唯一的URL方便你与他人分享,你也可以在任意时刻修改你的主题。
    Bootswatch —— 提供大量免费的Bootstrap主题。
    Bootsnipp —— 在线 前端框架交互组件制作工具,是一个供给设计师和开发者的基于Bootstrap HTML/CSS/JavaScript 架构的免费元素。
    LayoutIt —— 通过界面拖放生成器简便快捷地创建基于Bootstrap的前端代码。通过拖放动作将Bootstrap风格的组件加入到你的个人设计里并且可以方便地修改他们的属性,简单便捷。
     
    2. Fbootstrapp
     
    Fbootstrapp基于Bootstrap并且提供了跟Facebook iframe apps和设计相同的功能。包含用于所有标准组件的基本的CSS和HTML,包括排版、表单、按钮、表格、栅格、导航等等,风格与Facebook类似。
     
     
    3. BootMetro
     
    BootMetro框架的灵感来自于Metro UI CSS,基于Bootstrap 框架构建,用于创建Windows 8 的Metro风格的网站。它包括所有Bootstrap的功能,并添加了几个额外的功能,比如页面平铺,应用程序栏等等。
     
     
     
    4. Kickstrap
     
    Kickstrap是Bootstrap的一个变体。它基于Bootstrap,并在它的基础上添加了许多app,主题以及附加功能。这使得这个框架可以单独地用于构建网站,而不需要额外安装什么。你需要做的仅仅是把它放到你的网站上,然后用就可以了。
     
    App 是一些页面加载完成之后加载运行的JavaScript和CSS打包文件。默认加载的app有Knockout.js, Retina.js, Firebug Lite, and Updater,你也可以自行添加更多的app。
     
    选择不同的主题可以让你的网站在众多Bootstrap构建的类似网站中显得与众不同。
     
    附加功能是一些用来扩展Bootstrap UI 库的附件,它们的语法基本相同或者相似。
     
     
    5. Foundation
     
    Foundation 是一款强大的,功能丰富的并且支持响应式布局的前端开发框架,你可以通过Foundation快速创建原型,利用它所包含的大量布局框架,元素以及最优范例快速创建在各种设备上可以正常运行的网站以及app。Foundation在构建的时候秉承移动优先的策略,它拥有大量实用的语义化功能,并且使用Zepto类库来取代jQuery,这样可以带来更好的用户体验,并且提高运行的速度。
     
    Foundation拥有一套12列的灵活可嵌套的网格系统,你可以用它快速创建适应多种浏览设备的布局。它有很多的功能。它定义了很多的样式,比如字体排版,按钮,表单,以及多种多样的导航控件。它也提供了很多的CSS组件,例如操作面板(panels),价格表(price tables),进度条(progress bars),表格(tables)以及可以适应不同设备的可伸缩视频(flex video)。与此同时,Foundation还包括了很多的JavaScript插件,如下拉菜单(dropdowns),joyride(网站功能引导插件),magellan(网站固定导航插件),orbit(支持触摸的响应式图片轮播插件),reveal(弹出框插件),sections(强大的tab插件)以及tooltips(工具提示)等。
     
    Foundation框架还提供了很多有用的扩展。
     
    模板(Stencils)——Foundation框架中的所有UI元素都有Omnigraffle stencils以及矢量PDF两种格式的下载,你可以用它们来方便快捷的绘制线框图和原型图。
    HTML模板 —— HTML模板可以方便地用来快速创建页面布局。你所要做的仅仅是复制得到模板代码,然后丢到页面的标签之间就好了。
    图标字体(Icon Fonts) —— 包含自定义图标的一种网页字体。
    SVG 社交网络图标(Social Icons)—— 一组不依赖分辨率的社交网络图标(可缩放矢量图标)。
    响应式表格——Foundation框架中响应式表格的实现机制是固定表格的左边第一列,然后表格的其他列可以通过滚动条拖拉进行访问。
    关闭帆布布局(Off-Canvas Layouts)—— 这些布局可以允许一些网页内容或者导航控件在移动端设备上默认隐藏,当浏览屏幕变大或者用户进行相应操作的时候这些内容再出现。当用户进行相关操作的时候,网页内容或者导航控件将会滑动出现。
    如你所见,对于web开发者以及设计师来说,Foundation就像是一个巨大的宝藏。在下载框架的时候,你可以自定义下载框架的内容。
     
     
    6. GroundworkCSS
     
    GroundworkCSS 是 前端框架家族里面新添的一款小清新框架。它是基于Sass和Compass的一个高级响应式的HTML5,CSS以及JavaScript工具包,可以用于快速创建原型并且建立在各种浏览设备上可以正常工作的网站和app。
     
    GroundworkCSS拥有一个灵活,可嵌套的流式网格系统,方便你创建任何布局。这个框架有很多让人印象深刻的功能,比如在平板以及移动端上的网格系统,当屏幕的宽度小于768或者480像素时,页面中原本并列排版的表格列(grid column)会自动变为独立的行,而不是折叠在一起。另一个很酷的功能是jQuery的响应式文本(ResponsiveText)插件,这个插件可以动态调整页面文字的大小以适应浏览设备的屏幕大小。这个插件对于可伸缩的标题以及创建响应式表格的时候特别有用。
     
    GroundworkCSS包含了大量的UI组件,如tabs、响应式数据表格导航、按钮、表单、响应式导航控件、tiles(一套替代radio按钮以及其他默认表单元素的优雅组件)、工具提示、对话框、Cycle2(一款强大的,响应式的内容滑块)以及其他很多的有用组件。它还提供了很多矢量社交网络图标以及图标字体。
     
    你可以通过切换页面上方的导航按钮选择不同的浏览设备要来查看这款框架的效果。通过这种方式,你可以测试在不同的浏览设备上各种组件的响应式布局情况。
     
    GroundworkCSS的文档写的非常好,并且包含着很多的示例,为了让你更快的上手,他还提供了多种响应式的模板。对于这款框架,唯一我可以想到的缺点就是不能自定义要下载的框架内容。
     
     
    7. Gumby
     
    Gumby 是一款基于Sass和Compass的简单灵活并且稳定的 前端开发框架。
     
    它的流式-固定布局(fluid-fixed layout)可以根据桌面端以及移动设备的分辨率自动优化要呈现的网页内容。它支持多种网格布局,包括多列混杂的嵌套模式。Gumby提供两套PSD的模板,方便你在12列和16列的网格系统上进行设计。
     
    Gumby提供了一个功能丰富的UI工具包,包括按钮,表单,移动端导航,tabs,跳转链接(skip links),拨动开关(toggles and switches,可以方便快捷地切换元素的class,而不需要进行额外的js操作),抽屉功能(drawers),响应式图片以及retina图片等等。为了紧跟最近的设计潮流,Gumby的UI元素中还包括了Metro风格的扁平化设计,你也可以用Pretty风格的渐变设计,或者按照你的想法糅合两种设计风格。该框架还提供了一套出众的响应式,拥有独立分辨率的Entypo图标,你可以在自己的web项目中尽情使用。
     
    Gumby有一个很好自定义下载选择器,你可以自行配置各个组件的颜色,并且按自己的需求方便地下载。
     
     
     
    8. HTML KickStart
     
    HTML Kickstart 是一款可以用来方便创建任何布局的集合HTML5,CSS和jQuery的工具包。它提供了干净,符合标准以及跨浏览器兼容的代码。
     
    这款框架提供了多种样式表,包括网格,排版,表单,按钮,表格,列表以及一些跨浏览器兼容的web组件比如JavaScript的幻灯片功能,tabs,面包屑导航,包含子菜单的菜单以及工具提示等等。
     
    你可以使用99Lime UIKIT提供的UI组件来搭建你的产品线框图。
     
     
    9. IVORY
     
    IVORY 是一款轻量,简单但是强大的 前端框架,可以用于320到1200像素宽度的响应式布局。它基于12列的响应式网格布局,包含表格,按钮,表格,分页,拨动开关,工具提示,手风琴,选项卡等网站中常用的组件和样式。
     
    当你需要一款轻量灵活,不需要额外的其他功能,并且适应不同浏览设备的框架时,IVORY是你最好的选择。
     
     
     
    10.Kube
     
    最后,如果你的新项目需要一款实在的,不需要复杂的额外功能组件的,足够简单的框架,那么 Kube 将会是你正确的选择。Kube是一款最小化的,支持响应式的前端框架,它没有强加的样式设计,因此给了你充分的自由来开发自己的样式表。它提供了一些web元素的基本样式,比如网格,表单,排版,表格,按钮,导航,链接以及图片等等。
     
    Kube框架包括一个简洁的 CSS文件用于方便地创建响应式布局,还包括了两个JS文件来完成tab以及页面的按钮操作。如果你希望得到Kube最大化的灵活性以及个性化定制,那么你可以下载开发者版本(developer version),这个版本包括了LESS文件(包括各种变量,mixins以及模块)。
     
     
    如何选择一款优秀的前端开发框架?
     
    可以根据以下评估标准:
     
    将根据以下标准对这些框架进行评估:
     
    学习曲线
    针对简单任务的开发效率
    针对复杂、特殊任务的开发效率
    依赖管理
    代码性能/安全优化调整的能力
    平台升级/冗余能力
    在企业市场中的认同度
    开发、使用SOAP和REST服务的复杂性
     
    总结:
    灵活运用框架,将会得到意想不到的效果。这个看怎么灵活运用,有好的方案大家分享一下共同学习,进步。
    学习前端,重在分享!
    展开全文
  • 前端开发框架

    2012-06-03 20:29:17
    前端,jquery,js,框架,一个设计模式。
  • UIkit 前端开发框架

    2013-08-21 20:21:39
    UIkit是一款轻量级、模块化的前端开发框架用于开发快速且强大的Web界面。UIkit为你提供较为全面的HTML、CSS、JS组件,使用简单、易定制和可扩展。 UIkit 是用LESS开发,编写机构良好、代码可扩展易于维护。这款...
  • 前端开发框架-vue教程

    2018-06-13 16:54:54
    比较火的前端开发框架VUE基础教程,该教程详细描述的Vue.js的所有细节的使用。学完该教程即可基本掌握vue的使用。
  • 本文收集了14个响应式前端开发框架,可以帮助前端开发人员大大简化开发过程。针对每个框架,文中均指出了它所包含的UI组件及JavaScript插件。几乎所有的框架都采用了响应式网格系统。 使用这些前端框架,有如下好处...
  • NEJ{N:nice;E:easy;J:javascript;} NEJ 是由网易前端组工程师们发起创建的简洁,美观,真正的跨平台web前端开发框架;她遵循的原则是:自由定制、小巧灵活、简洁易用、愉悦编码、快乐开发。
  • 目前流行的前端开发框架

    千次阅读 2019-06-10 17:58:38
    从以下三个方面了解目前流行的前端开发框架。 ####一.跨多平台开发框架 (1).uni-app–开发一次,多端覆盖 uni-app 是DCloud公司使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到...
  • 2021年选择 Web 前端开发框架的方式

    千次阅读 2021-02-20 16:14:58
    但是近年来随着技术和开发理念的发展和进步,前端开发框架也在不断迭代。在众多选择面前,如何甄别各个框架的特长和短板?如何判断其技术架构是否适合自己? 本文尝试从多个角度分析市面上主流的前端框架,试图为...
  • 随着Web技术的不断发展,前端开发框架层出不穷,各有千秋,开发者在做技术选型时总是要费一番脑筋,最近,IBM高级工程师王芳侠撰文对Bootstrap、jQuery UI、jQuery Mobile、Sencha ExtJS、Sencha Touch、Sencha GXT...
  • 前端开发框架文档

    千次阅读 2017-06-11 22:59:40
    前端开发框架—Vue.js,webpackVue.js:轻 效的前端组件化 案. Vue.js 是 款极简的 mvvm 框架,如果让我 个词来形容它,就是 “轻·巧” 。如果 话来描述它,它能够集众多优秀逐流的前端框架之 成,但同时保持简单...
  • vue-admin-beautiful是一款绝佳的前端开发框架(同时支持电脑,手机,平板)
  • Web前端开发框架对比

    千次阅读 2016-05-31 11:14:30
     Bootstrap(http://www.bootcss.com)是目前桌面端最为流行的开发框架,一经 Twitter 推出,势不可挡。Bootstrap 主要针对桌面端市场,Bootstrap3 提出移动优先,不过目前桌面端依然还是 Bootstrap 的主要目标...
  • Ext Web前端开发框架

    2013-05-11 15:30:26
    作为Web前端开发框架,对ext 3.x进行了深度改进,透过源码,看到了javascript的神奇用法。由于文件超过上传限制,删掉了docs文档
  • 14款响应式前端开发框架

    千次阅读 2013-07-25 15:27:41
    本文收集了14款响应式前端开发框架,且分别指出所包含的UI组件及JavaScript插件。几乎所有的框架都采用了响应式网格系统。 前端开发并不是一个容易的工作,不仅需要掌握HTML、CSS和JavaScript,针对不同的...
  • 自己写的前端开发框架 并完成后台管理数据交互 和现在大热的vue.js angular.js数据比较相似 不太适合复杂交互项目 只适合简单的后台管理系统
  • web前端开发框架有哪些

    千次阅读 2018-11-27 15:35:02
    各种开发框架层出不穷,各有千秋。哪些才是最适合开发者的呢?以下是前端框架的一些集锦,都非常优秀,前端框架好不好,看如何组合使用,这篇文章收集了目前... 简洁、直观、强悍的前端开发框架,让web开发更迅速、简...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 175,607
精华内容 70,242
关键字:

js前端开发框架