《Ember.js实战》——第1章 发力雄心勃勃的Web应用 1.1 Ember.js适用场景

第一部分 Ember.js基础

JavaScript MVC框架Ember.js用于组织大型Web应用代码结构。与其他流行的JavaScript应用框架相比,其具有更完整的MVC模式特征,并包含创建新一代Web应用所需特性。它自信满满,严格依赖约定优于配置的设计范式来构造应用程序。

由于包含大量特性及应用约定,Ember.js的学习曲线比较陡峭。本书第一部分包含4章内容,帮你尽快找到Ember.js开发的感觉,并确保你从一开始就能有所成。

第1章 发力雄心勃勃的Web应用

本章涵盖的内容

  • 单页面Web应用概述(Single-page Web Application,SPA)
  • Ember.js介绍
  • Ember.js为Web开发者带来了什么
  • 第一个Ember.js应用程序

本章介绍Ember.js应用框架,以及Ember.js生态系统的大量特性和技术。大多数主题将在后续章节具体展开。你还将快速了解Ember.js应用的轮廓及其优势。

同时,本章也会介绍如何构建Ember.js应用,其间将涉及Ember.js框架的不同方面。如果一开始你不太理解某些代码,请别担心!所有的这些开发代码都会在后面一步步具体展开。

如果你已习惯开发服务器端技术驱动的Web应用,掌握Ember.js可不是轻松的事情。本章代码示例和记事本应用将涉及构建Ember.js应用的各种概念。

Ember.js的结构以一系列基础库为基础。书中各章开始处都会提供一张图,展示各个基础库并高亮显示各章涉及的内容。本章就会接触到许多Ember.js基础库,如图1-1所示。

1.1 Ember.js适用场景

像《纽约时报》网站或苹果公司网站这样的内容服务网站以传统的HTTP请求-响应生命周期为基础,在服务器端渲染大部分的HTML、CSS和JavaScript代码。如图1-2左半部分所示,对于每个请求,服务器端都会生成网页标记全新而完整的复本。

另一种技术是富互联网应用(RIA),诸如Google地图、Trello以及某种程度上的GitHub。这些网站的目标就是重新定义应用类型,在客户端渲染大部分内容,以与原生安装应用竞争。如图 1-2 右半部分所示,应用在第一次请求发生时,服务器端做出响应,将完整的应用(HTML、CSS以及JavaScript)一次性传送给客户端。对于随后请求将只返回显示下一页面所需的数据。

两种技术的优缺点展示在图示的两端。左边描述的页面很容易被服务器端缓存,但其依赖请求-响应生命周期模式,而且为了响应用户动作必须整页刷新。

图示右半部分拥有典型的富用户界面,提供了更好的用户体验,并与大家所熟知的原生应用相似,但实现起来也更复杂,需要浏览器软件提供更多的计算能力、新特性以及稳定性。

单页面应用(SPA)越来越流行,因为RIA——尤其是SPA——更像是原生安装应用,其具有更加响应式的用户界面、少量或局部的页面刷新。在这个领域,Ember.js的目标是成为Web应用开发者的最佳框架解决方案,并将Web应用效果发挥到极致。例如,Ember.js非常适合请求长时用户会话、需要富用户界面以及基于标准Web技术等各类场景。

如果打算创建图示右半部分风格的应用,那么,Ember.js正是为此打造的。Ember.js还有助于思索如何构建应用。它提供了创建丰富Web应用程序的强大工具,让你的创意发挥到极致,同时提供一系列丰富特性以构建真正雄心勃勃的Web应用程序。

在开发Ember.js应用程序之前,先来讨论一下为什么我们一开始就选择象Ember.js这样的框架,以及Ember.js提出要解决的问题。

时间: 2024-09-15 10:34:58

《Ember.js实战》——第1章 发力雄心勃勃的Web应用 1.1 Ember.js适用场景的相关文章

《Ember.js实战》——导读

前言 2006年起,我已经以某种方式进行Web应用开发.我开始为挪威最大的零售商开发Web应用,先是使用JavaServer Pages(JSP)技术,之后换成JavaServer Faces(JSF).当时这些技术很不错,并能让使用者达到使用目的.在那时(Ajax流行之前),HTTP的请求-响应周期要求将大多数处理逻辑放在服务器端,服务器端在每次请求中传递所有标记.脚本和样式表给浏览器. 虽然以服务器端方式开发Web应用也能行之有效,但状态问题总是绕不开的.由于服务器端要求记住所有登录用户,管

《Ext JS实战》——第1章 独特的框架 1.1 认识Ext JS

第一部分 Ext JS介绍 欢迎阅读<Ext JS实战>,本书是对Ext JS世界的深度之旅.在本书中,不仅要学习如何利用Ext JS框架完成各种任务,还会学习构成框架的各种组件和部件之间的差异. 通过第1章到第3章的学习,我们能够对框架的基础部分有必要的理解.我们的旅途从第1章正式起航,在第1章会学习框架的基础知识.第2章是"热身"章,会了解一些能让应用程序正确运行的关键要素.第3章会涉及框架的一些内部机制,例如组件模型和容器模型. 学完这一部分后,就可以探索Ext JS

《Ember.js实战》——1.4 第一个Ember.js应用程序:记事本应用

1.4 第一个Ember.js应用程序:记事本应用 记事本应用大约有200行程序代码(包括模板和JavaScript代码)以及130行CSS代码.你完全可以在Windows.Mac以及Linux等各种操作系统上使用你喜爱的编辑器来开发并运行这个应用. 提示 我使用JetBrains WebStorm来编写JavaScript应用,但这对你来说不是必需的. 你将通过编写一个简单的记事本Web管理应用来一探Ember.js.该应用功能如下. 添加新事项--应用提供了用户添加事项的专用区域. 选择.查

《Ember.js实战》——1.3 Ember.js概览

1.3 Ember.js概览 Ember.js起源于SproutCore框架的第二个版本.在SproutCore 2.0开发期间,SproutCore团队成员已经清楚地认识到,如果想要创建满足目标广泛的Web应用程序的需要,并且体积还保持小巧的易用框架,SproutCore框架的底层结构就需要有个根本改变. SproutCore简介 SproutCore是一个用高度面向组件编程模型开发出来的框架.SproutCore的大多数概念都是从Apple的Cocoa借鉴来的,而Apple也使用Sprout

《Ember.js实战》——2.6 Ember.js实现各层间数据同步

2.6 Ember.js实现各层间数据同步 本章前面我们看到了一个数据同步模型,其可以确保数据始终在客户端和服务器端之间保持同步(见图2-2).在这个模型中,应用程序8个步骤中就有6个需要显式跟踪并关注应用程序内部状态.反观Ember.js框架如何使用绑定.控制器以及清晰的模型层来尽可能多地自动化样板代码,孰优孰劣就很清楚了.图2-8展示了一个改进后的概念模型. Ember.js方式的步骤减少了,这是因为我们把更多的样板代码留给了Ember.js框架,而你仍完全掌控着应用的数据流.与前面模型相比

《Ember.js实战》——2.4 观察者模式

2.4 观察者模式 从概念上讲,单向绑定包含一个观察者与一个setter,双向绑定包含两个观察者与两个setter.观察者在不同语言和框架中有不同的称谓和实现.在Ember.js里,一个观察者就是一个JavaScript函数,无论其观察的变量何时更新,都会触发该函数的调用.在绑定较难实现或希望在某个值发生改变时执行某个任务的场景中,比较适合使用观察者模式. 要实现一个观察者,请使用.addObserver()方法,或者使用内联的observes()方法后缀.代码清单2-6展示了观察者的一种使用方

《Ember.js实战》——2.7 小结

2.7 小结 本章介绍了一些你可能不太熟悉的Ember.js新概念,以及它不同以往的处理方式. 我们讲述了绑定功能,以确保应用程序各层间数据更新与同步.同时还介绍了自动更新模板,该特性有助于提升开发效率,并使得用户界面总能及时反映模型对象里的数据变化. 拥有了创建.修改及删除事项的能力之后,紧接着我们添加计算属性以增强应用UI效果.接下来还了解了观察者角色,你在记事本应用中创建了一个观察者以观察数组里的属性变化. 之后,我们阐述了Ember.js对象模型,并讨论如何在标准Ember.js对象或自

飞天诚信收购嘉兴万谷发力智能IC卡行业

本文讲的是飞天诚信收购嘉兴万谷发力智能IC卡行业,9月15日消息,近日,飞天诚信科技股份有限公司决定以自有资金收购并增资嘉兴万谷智能科技有限公司,以获得嘉兴万谷60%股权.此后,嘉兴万谷将成为飞天诚信公司的控股子公司.此次收购一举解决了制约公司进入IC卡领域的业务资质和生产能力问题. 飞天诚信多年前便已开始布局智能卡相关技术研究及储备.2001年公司基于智能卡技术的业界概念产品--"不可破解"加密锁便已问世.16年以来,飞天诚信一直努力为业界提供安全.易用.便捷的基于自主知识产权的FT

《Redis实战》一第2章 使用Redis构建Web应用

第2章 使用Redis构建Web应用 Redis实战本章主要内容 登录cookie 购物车cookie 缓存生成的网页 缓存数据库行 分析网页访问记录 前面的第1章对Redis的特性和功能做了简单的介绍,本章将紧接上一章的步伐,通过几个示例,对一些典型的Web应用进行介绍.尽管本章展示的问题比起实际情况要简单得多,但这里给出的网络应用实际上只需要进行少量修改就可以直接应用到真实的程序里面.本章的主要任务是作为一个实用指南,告诉你可以使用Redis来做些什么事情,而之后的第3章将对Redis命令进