设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

AngularJS-下一个大框架

2014-9-9 09:58| 发布者: joejoe0332| 查看: 7557| 评论: 0|原作者: petert, gones945, lwei, 小檀, 徐继开, 0x0bject, zhaoxj, __eric__, 无若, AndyLam, 郭振华oo|来自: 开源中国社区

摘要: AngularJS是web应用的下一个巨头。AngularJS是一个开源的web应用框架,由Google和社区进行维护,它可以创建单页的应用程序,一个页面的应用仅仅需要HTML,CSS和JavaScript在客户端。它的目标是增强页面的模型-视图-控 ...



web应用程序不像一个普通的网页,他们更倾向于与用户的交互并且需要实时与后端服务器通信。如果你没有使用MVC框架来处理,这样会最终会让你写出一些编写混乱、非结构化、不可维护、不可测试的代码。为了避免“spaghetti”式的代码,那么JavaScript开发人员必须首先要了解这种模式提供了什么东西。这就可以看到这些框架能够让我们做什么哪些不同的事情。

使用JavaScript构建一个单页面应用程序的时候,不管是否拥有一个复杂的用户界面或者只是为了减少HTTP请求的数量,你可能会发现自己写的很多可以组成一个MV *框架的代码。刚开始的时候,使用自己想出来的方式来避免spaghetti式代码写一个应用框架并不是一件很难的事情,但是写出像Angular/Backbone这样的代码水平那就不太可能了。


我们会发现有更多的人会倾向于构建一个应用,而不是试着去将DOM操作库、模板、路由结合到一起。成熟的MV *框架通常不仅包括很多你发现自己写过的类似的功能代码,而且也包含了很多你曾经遇到并且已经解决了的问题。框架为你节省了很多时间,这就是框架不能低估的价值所在。

现在的浏览器提供了丰富的功能,变得越来越强大,这不仅让在JavaScript中构建成熟的web应用程序成为可能,而且这个方式越来越受欢迎。根据 HTTP Archive数据显示,今年部署的JavaScript代码规模增长了45%。


随着JavaScript的人气攀升, 我们的客户端应用程序比以前复杂得多 。一个应用程序开发需要多个开发人员合作,所以编写可维护和可重用代码在新的web应用程序时代是非常重要的。设计模式对于编写可维护和可重用的代码是很重要的。在过去几年时间里面,有很多JavaScript MVC框架已经被设计开发出来了,比如AngularJS,backbone.js, ember.js,还有很多其他的框架。虽然他们都有其独特的优势,但是每一框架都会鼓励开发人员遵循一定的形式以编写出更加结构化的JavaScript代码。

什么时候需要使用一个JS MV*框架

如果你在构建一个应用,它的客户端有许多重量级的功能,用纯JavaScript很难应付,那你就应该考虑使用一个MVC框架。 如果选择错误,你将会错过MVC框架提供的功能,陷入重新发明轮子的境地。

要注意的是,如果你构建的应用在服务器端有很多重量级功能(即视图生成/展现逻辑)并且在客户端没有多少交互的话,这时你会发现使用MVC框架就像是杀鸡用牛刀。在那种情况下更好的选择是,使用一个更简单的、有少量附加功能的DOM操控类库。

下面这个列表并不完备,但是我们希望它能提供充分的理由帮你决定是否在你的应用中应该使用一个MVC框架:

  • 你的应用需要异步连接到后台

  • 你的应用有这样的功能,它不需要重新载入整个页面(比如给博文增加一条评论,无下限滚动)

  • 多数视图或者数据操作将会在浏览器内完成,而不是在服务器端完成

  • 同样的数据在页面上需要进行不同方式的渲染

  • 你的应用有许多琐碎的交互来修改数据(按钮, 开关)

满足这些情况的比较好的web应用的例子有Google Docs,Gmail或者Spotify。

客户机/服务器架构的web应用程序

世界已经被改变,部分应用的逻辑已经被移到客户端。当我们需要以某种方式处理来自服务器的所有数据时,这里就描述这种情形。JS MVC框架鼓励把表现层逻辑从服务器端移动到客户端,实现了RIA(Rich-Internet-Apllication),传统web应用程序下的客户机/服务器架构和JS MVC下的客户机/服务器架构都基于web应用。

客户端一侧的MVC可以处理整个MVC栈。如果你同时使用服务器和客户端MVC,那么你会复制你的模型和路径。客户端一侧的MVC基本上允许你将你的服务器和客户端连接起来。为什么你的服务器要发送视图层?为什么不发送以json为格式的模型并加载它到客户端一侧,让客户端去渲染视图。你甚至可以在将来为其规定路由。为什么服务器要处理路由?客户端可以做这个。仅仅允许客户端去访问你的RESTful数据库就行,并且你不需要任何服务器端的MVC。

较流行的一种包含客户端服务端的模式是 后端RESTful API 通过 JSON发送数据模型 客户端使用MVC模式 处理应用.

Client-side MVC with server-side RESTful API

Data Flow



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号