说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

专访AngularJS框架创始人Misko Hevery:让Web开发更便捷

HTML文档下载 WORD文档下载 PDF文档下载
AngularJS是Google推出的开源JavaScript MV*(MVW、MVVM、MVC)框架,其通过为开发者呈现一个更高层次的抽象来简化应用的开发。CSDN记者采访了AngularJS的创始人Misko Hevery,请他来介绍AngularJS项目背后的故事。

AngularJS是一款开源的JavaScript MV*(MVW、MVVM、MVC)框架,目前由Google维护。AngularJS弥补了HTML在构建应用方面的不足,其通过使用标识符(directives)结构,来扩展Web应用中的HTML词汇,使开发者可以使用HTML来声明动态内容,从而使得Web开发和测试工作变得更加容易。

AngularJS最初由Miško Hevery和Adam Abrons于2009年开发,后来成为了Google公司的项目。

CSDN记者采访了AngularJS的创始人之一Misko Hevery,请他来为我们介绍一下AngularJS项目开发背后的故事。


CSDN:请先介绍一下您的经历!

Misko加入Google公司之前,我曾在Intel、Xerox(施乐)、Sun和Adobe公司工作过,主要从事数据库/后端方面的工作。加入Google公司后,我开始转向自动化测试,这个工作的主要目的是改进Google的开发者工作效率,从而改善代码库。

我之前并不太热衷于JavaScript,直到我的老板让我涉足这一领域,并让我研究关于JavaScript的所有知识。

CSDN:讲讲AngularJS开发背后的故事,当初为什么发起这个项目?

MiskoAngularJS最初是作为一个编外项目(side project),当时我想去看看是否有可能让Web设计师(非开发者)只使用HTML标签来创建简单的应用程序。随着时间的推移,AngularJS演变成了一个全面的开发框架。

2010年是一个转折点,当时我正参与Google Feedback的开发。我们使用GWT进行开发,比较郁闷的是,开发速度和项目的进展比较缓慢。我意识到,我的这个编外项目也许可以让这个产品的构建过程快一些。随后,我将17K大小的基于GWT的应用程序使用JavaScript进行了重写,且代码只有1500行。这引起了很多人的重视,公司也开始资助我们全职开发AngularJS。

CSDN:AngularJS的设计理念是什么?灵感来自于什么?

MiskoAngularJS遵循的设计理念是——构建UI应该是声明式的。

灵感来自于我之前在Adobe公司所从事的FLEX方面的工作。但是我还想要有大量的声明式UI,这也是AngularJS中标识符(directives)想法的灵感来源。

CSDN:AngularJS是如何实现这一理念的?

Misko我发现大多数人开始一个新东西时,往往会从他想到的有可能实现的方面入手,然后围绕它创建一个框架。而我更倾向于从我想要的东西入手,我认为某个想法很棒,就会朝着这个目标不断努力,直到实现它。起初,一些想法看似无法实现,但是随着时间的推移,你的一些技能也许可以让它变成可能。

例如:我想要实现不那么突兀的数据绑定,也就是说任何对象都可以进行数据绑定。但是当一个对象发生变化时,无法使用JS来获取通知。这样一来,大多数人就会认为这是无法实现的,他们会让你使用getter/setters来代替字段访问。

CSDN:AngularJS的设计目标是什么?

Misko首要目标是,使Web应用开发更容易,并在这个过程中使Web变得更强。

第二个目标是,向人们展示以这种方式来构建Web应用程序也是可能的。此外,还希望向人们传达一些关于测试、声明式UI和依赖注入方面的知识。

CSDN:AngularJS项目的开发人员有几名?

Misko最初AngularJS项目团队只有Adam Abrons和我两个人。但自从Google公司接管了这个项目后,目前团队人数已经达到了15人。

CSDN:你们是如何解决AngularJS开发过程中遇到的困难的?

Misko考虑你想要实现的东西,然后朝着这个目标努力。你或许不会得到一个非常理想的结果,但是这样会比你一开始就以能够实现作为目标的结果要更好。

CSDN:AngularJS限定不能超过2000个绑定对象,有人将它视为编写大型应用的限制,对此您怎么看?

Misko这不是一个硬性限制。要知道,Angular应用程序的性能与对象绑定数量呈线性关系。绑定的对象越多,应用程序的速度会变得越慢。

对于2000个的限制,我的看法是,这是你能够在一个页面上展示给用户的所有东西的数量限制。通过这个限制,刷新页面的时间可以减少到5ms以下。因此,性能的主要限制因素是人,而不是计算机。

CSDN:介绍一下AngularJS的dirty-checking机制?其性能如何?

MiškoDirty-checking是我们用来检测对象的变化的。我们仅在模型可能发生变化时运行它。这是一个事件驱动系统。

性能方面,如果对象的比较过程相对简单,那么进行1000次比较,在现代浏览器上可能只需要一两毫秒,所以性能真的不是一个问题。正如前面所提到的,性能的限制因素是人。

此外,这样做的好处是,你能够为你的模型使用纯老式的JavaScript对象。

CSDN:哪些应用适合使用AngularJS?哪些不适合使用?

MiskoAngularJS可以很好地用来开发表单/报表类的应用程序,而这类应用程序在Web中所占比例高达90%。而如果你想构建一个照片编辑类的应用,你可能不会想去使用AngularJS。

CSDN:Angular的未来会如何发展?

Misko我们希望未来AngularJS能够更好地与Web标准看齐。我们还打算将AngularJS分解成大量的小型库,你可以将这些库集合起来使用,也可以单独使用某些库。

CSDN:对于前端开发者,你有什么建议?

Misko尝试去开发一些伟大的网站,让Web变得更美好。


以史为镜,剖析PaaS大迷局 “心脏出血”还不够?又曝OAuth和OpenID登录漏洞 走近讲师:搜狐于顺治讲述搜狐PaaS云平台实践之路 AppFlood 2014 Q1报告:亚洲和中东市场成为开发者出海首选 华为联合运营商构建能力开放平台 Facebook产品设计主管:揭秘公司如何招聘优秀设计师 【附信息图】美国因软件缺陷导致的十大事件 二十一世纪Windows简史 为什么用户体验和生态系统决定云公司的成败 三星Tizen,路漫漫其修远兮 用户体验是新优势,互联网会受到何种影响? 从GitHub看编程语言流行度 陈沙克:Openstack Horizon Icehouse Blueprint简介 叶琪:Hadoop不是万能的 要明确场景扬长避短 云网融合驱动数据中心技术聚变 给想持续编码CEO的4个建议 盘点开发者最喜爱的十大开源Xcode插件 Cloudera CTO:取代MapReduce 未来会加大Spark等框架投入 中航信资深分析师李洋:自主搭建云平台 助力民航业低成本迎接大数据挑战 安全狗创始人陈奋:借助Hadoop与Spark,欲打造服务器上的360 业界良心:Square开源Viewfinder,25万行代码全公布! 比尔·盖茨:核心业务Bing虽不赚钱,却不能拆分 不可错过,参加第六届中国云计算大会的十大理由 章津楠:未来三年,OpenStack将成为企业去V首选 EMC收购闪存初创公司DSSD,走出联合储存战略第一步 创业失败的七个原因及解决之道 集结号:最受开发者欢迎的跨平台游戏引擎 Cocos2d-x v3.0正式版本发布!优化C++、Lua、JavaScript接口 定价99元首发1万台 360安全路由器启动预约 AMD新产品线曝光 首次实现X86与ARM针脚融合 IT界最难以替代的9个角色 请问如何将office2000或office xp 的激活提示除掉 怎么在LINUX下编译JAVA? 请问foxbill:.h文件之前的这些都是什么意思? MEMFILE例子的-----送分帖! 请问如何将office2000或office xp 的激活提示除掉 关于class的问题 我的“路由和远程访问” 出了一个怪问题 用VB设计自己的E-mail系统 这个就是你们说的美女檬檬吗? 我觉得....... 两个小问题————高手赐教! 一个局域网内监控程序,有点问题,请大家帮忙看看! 怎么在LINUX下编译JAVA? ADO数据库简单问题? -128的原码,反码,和补码是什么 ado问题,紧急!高分求救 展望COM,我的COM学习计划!来看看! 借宝地一用,请有良知的中国人近来看看--印尼华人! 拨号上网问题 人民银行网站建设中数据库存储过程的调用 100分求解一个能打印*.frm的控件,提供相关资料的也给分,27号晚5:00结账送分 visual C++ ??? Delphi??? 我憋的难受! 一个编译错误。不知道是什么原因 请问如何使用vbscript删除表的一行(制定行) OracleOraHome81ManagementServer起不来? 关于Tuxedo? 使用apache映射虚拟目录的问题! 谁有VC下类EXCEL的代码 进入windows的目录需要密码的问题 com+组件导出的客户端代理,安装到win98客户机,客户机createObject出错 救急!请问哪里有CrystalReport的书以及源码? QUERY的一对多问题! DLL里面不能修改注册表吗? DLL里面不能修改注册表吗? 急,给高分!!!哪里有非评估版的SQL Anywhere 6 可供下载! DLL的问题 请问能否控制DataGrid编辑时的文本框宽度?? 大虾!大虾!大虾!快过来?这里的问题真奇怪!!SQL2000 装不上,急的我从处男变和尚!解决问提我给分————50分! 强烈声讨那些声讨KiteGirl(小仙妹) 的人!路见不平!!!!!!!! jscript里面有没方法和vbscript里的replace一样 Java 3D 初学一问 难道没有人会吗? 请各位帮忙测试一个MySQL管理软件 求教:如何实现交叉表 BCB 的大 BUG->>>看似简单,试试后必晕倒!欢迎高手讨论! Java 3D初学一问 关于查找Internet网上计算机的问题 winxp英文版可否变成中文版? 请教关于硬盘还原卡? 驱动问题:地址空间??????????? 急,给高分!!!哪里有非评估版的SQL Anywhere 6 可供下载!(单独安装版) 关于光驱读碟的问题 英语翻译 她的棒球在沙发上吗?不它没有.它在一下面.英语 mg到g的进率是多少 四人一组讨论,的英文翻译 英语 Is the baseball on the sofa?译:棒球在沙发上吗?为什英语 Is the baseball on the sofa?译:棒球在沙发上吗?为什么 前面要有the 你们滴MG怎么堆的哇我现在55的控魂 躺在沙发上的英文 一个梯形的面积是450平方厘米,如果只把它的下底增加10厘米,则它的面积就变成650平方厘米,原梯形的下底是 20厘米,它的上底是多少厘米? 1ug等于多少mg大神们帮帮忙 在月球上能看到地球蓝色的天空吗? 一个梯形面积是450平方厘米,如果只把它的下底增加10厘米,则它的面积就变成650平方厘米.原梯形的下底是20厘米,它的上底是( )厘米. 30kg等于多少mg大神们帮帮忙孩子吃药 一袋是125mg 每日按体重25~50mg/kg 我的孩子是30公斤. 该怎么吃这个药. 一个梯形的面积是96平方厘米,上底是10厘米,高是6厘米,下底是(). 第一座太空梯会在哪里出现?1月球2地球3火星地球可能性不大.月球可能容易一些用处不大.火星后来居上因为它可能由火星人自建. 梯形面积是450平方厘米,如果只把它的下底增加10,则它的面积就变成650平方米,原梯形下底是20,上底是多 对于公式G=mg,G与( )成正比G表示重力,g=9.8N/kg m表示质量 现在天空中的在月亮边 很亮的星 一个梯形的面积是204平方厘米,高是12厘米,下底比上底长10厘米,上底是多少 请问初三物理公式G=mg中的g是什么东西RT这g是怎么得来的? 为什么地球的天空是蔚蓝的,而月球的天空是黑色的是初一科学的 人为什么在地球上?为什么不在月球或者火星呢? 一个梯形的面积是24平厘米,上、下底和12厘米,则梯形的高是多少厘米? 一个梯形的面积是16平方厘米,上底是4厘米,下底是6厘米,高是()厘米. 重力加速度的单位 G=mg,这公式是什么意思? 钥匙在沙发上吗?英语怎么说钥匙在沙发上吗?英语怎么说 英语翻译ich habe die Handys erhalten.Leider funktioniert bei dem ersten Handy der Akku nicht.Er lässt sich nur bis 15% LADEN.Ich würde mich über einen funktionsfähigen freuen. 帮我算下我的太阳,月亮,上升,还有金星木星水星土星火星星座,我出生阳历81年3月2日,凌晨2点半.在黑龙江鹤岗出生.不是说要根据出生的经纬度来测月亮星座,上升星座的嘛?对不起啊,忘记说了, 钥匙在沙发上用英文怎么说 英语翻译Beim Lesen,so hat er erzählt,kommt es sehr auf die Textsorte an. 请问我的太阳、月亮、上升、金星、木星、水星、火星、土星等之类的星座是什么呢?我的生日是1986年10月31日上午10点左右 由一对近义词和反义词组成的成语,如,东张西望 英语翻译Über die jeweiligeFörderzuständigkeit entscheidet die inhaltliche Ausrichtung desKompetenzzentrums. 我的太阳、月亮、金星、木星、水星、土星、火星的星座分别是什么(97.03.30【凌晨三点】天津市)性别:女天津市河西区 PS:天津市还分那个市吗.好像是应该分哪个区吧.3L的 我看您老是0 在梯形ABCD中,AD‖BC,对角线AC、BD相交于点O,若S△AOD:S△ACD=1:3.求S△AOD:S△BOC 英语翻译wer übernimmt dann meine portogebühren?es ist ja nicht mein fehler,dass das gerät nicht funktioniert.zollgebühren würden dann auch nochmals anfallen wenn sie mir das gerät wieder schicken.auch der versand nochmals hierher.ic 如何看自己的上升星座、月亮星座、水星星座、火星星座、金星星座、木星星座、土星星座 电梯的质量是500KG 电梯内放入50KG物体,当电梯从静止起以2m/s^2的加速度向上运动4m过程中,电梯对重物做功____J,吊电梯的钢绳对电梯做功为____J,平均功率是______kw.我都忘记过程怎么算的了, 英语翻译Doch vermutlich wird man das erst bei Tageslicht genauer sagen können. 我想知道自己的月亮、上升、金星、木星、水星、火星、土星星座,还有星座宫头,和他们代表的星座特点.我是阳历1982年8月14日中午12点左右(出生具体时间不一定对)出生在四川省射洪县 为什么重力加速度和G=mg中的小g数值一样?仅仅是巧合吗? 英语翻译-Ich hätte gern ein Kilo Birnen.Sind sie denn auch reif?-Ja.Darf es sonst noch etwas sein?-Bitte noch 100 Gramm Appenzeller Käse-Geschinitten oder am Stück?-Am Stück,bitte-Ah,jetzt sind es 135 Gramm.Darf es etwas mehr sein?-Ja 一个梯形的面积是8平方厘米,如果它的上底.下底和高各扩大2倍,它的面积是多少平方厘米 人在乘电梯时,当电梯下降那一刻,人会不会失重.爱因斯坦曾想象过一个人从楼上跳下,那时候,人就会失重。请问失重与引力有关还是与空间有关? 若已知当地的重力加速度g=9.8m/s,地球的半径为6.4*10^6.引力常量6.67*10^(-11)n*m^2/kg^2.估计地球的质量 译英:这些天来,我爸爸比我妈妈忙得多.译英:既省时又省钱 火星是地球质量的9分之1,半径是的求的一半,则一个宇航员在火星上的体重也地球上的体重比为?我是初学者 不好意思我初学啊 火星的半径是地球的一半其质量是地球的1/9一宇航员的质量是72kg则他在火星上所受的重力是多大 别让我一个人好吗 我会怕 英文怎么翻译 一个梯形的面积是24平方厘米,下底长7厘米.高是4厘米,上底和下底是多少厘米 一个梯形的面积是21.6cm,高是9cm,两个这样的梯形可以拼成一个高9cm,底是()cm的平行四边形. 我的太阳,月亮和上升星座,还有其他的什么火星土星之类的我出生于1982年阳历3月11日零点多一点(不会超过半小时,好像是刚过十二点),阴历是2月16日.我只知道自己的太阳星座是双鱼,月亮好 阴影部分的面积是24平方厘米,梯形的上底是6厘米,下底是十厘米,求梯形的面积. 两个完全一样的梯形可以拼成一个平行四边形,一个梯形的面积是所拼成平行四边形的一半,如果拼成平行四边形的底是24厘米,高是10厘米,那么梯形的上、下底之和事多少厘米?高是多少厘米?面 想查我的太阳/月亮/水星/金星/火星/土星/木星/天王/海王/冥王及上升星座和天顶星座我是82年7月19日19时30分左右出生的,出生地陕西安康岚皋 他的棒球在沙发下吗的英语是什么 火星半径是地球半径的一半,火星质量约为地球质量的1/9,那么地球表面重800N的人在火星表面的重力为多...火星半径是地球半径的一半,火星质量约为地球质量的1/9,那么地球表面重800N的人在火 英语翻译李强今年50岁 苏州人 20年前他独自去美国华盛顿谋生 希望能生活得更好些 去美国之前 他是苏州一家有名餐馆的大厨 刚到华盛顿 他在一家中国餐馆当厨师 这家中国餐馆很有名美国 沙发下面有一个棒球的英语怎么说 火星半径是地球半径的一半,火星质量约为地球质量的1/9,那么地球表面重800N的人在火星表面的重力为
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘