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

专访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变得更美好。


Pivotal获通用电气1.05亿美元支持 或将改变大数据和物联网的游戏规则 大掌门与阿里云和解:云生态系统呼之欲出 刘有涛:恩信科技云计算大潮中扬帆起航 Cloudera释放Impala 1.0:与Hadoop完全整合,各方面完爆Hive 云通讯平台:让你的应用会说话 触宝用户过亿,CEO王佳梁常说的词是“创新” 全国电脑健康日启动 360搭建电脑维修开放平台 C语言实现归并排序 360石晓虹:针对移动Apps的DDoS攻击将成重大威胁 更社交化:谷歌将推出Google Play平台服务 C语言对磁盘文件进行快速排序 传Google已关闭短信搜索服务 PayPal首席安全官:靠密码验证身份即将寿终正寝 DRM你又赢了:其API纳入HTML5标准 豌豆荚王俊煜:洗白白其实是一个计划外的产物 抢Google等巨头生意,纽约大学小伙挖掘并出售自己数据 noBackend:前端优先的开发模式 C、CPP const 详解 三星5G技术获得突破性进展 未来传输速度可达10Gbps 5月14日:1984年美国社交网站Facebook创办人Mark Zuckerberg出生 Chartkick:一行代码即可绘制出漂亮的图表 用友UAP将打造开放平台 建应用商店销售企业级应用 共享软件营销:如何将你的产品推向海外 谷歌使用Debian Linux作为GCE的默认操作系统 大数据?别唬人了!我们真的需要盲目烧钱追求大数据吗? 日本社交手游公司GREE巨星陨落 中国区全员被裁 战歌:85后手游开发团队背后的故事 分秒钟做款App:细数国内外在线DIY应用网站 指点传媒CEO专访:紧握二三线市场用户命脉 专访Waygo创始人:白切鸡怎么翻译? 探究共享软件海外营销新策略(西安站) 硬盘碎片过多问题请教 powerbuilder&powerdesigner 矛盾中...我是一名计算机本科生(3年级),狂热的VC爱好者,我究竟是应该继续考研,还是考个高程出去闯呢,请过来人指点迷津! help??在文本框中輸入要跳轉的頁面,然後按一個按鈕這個代碼如何寫阿 在listview中,如何根据鼠标的位置point(x,y),得知鼠标指在那条纪录? 怎样去掉tab控件上方的按钮 小妹请教一个问题,急! 统计一下? 使用CreateThread(NULL, 0, Settle, this, TRUE, &dwThreadId)问题!(在线等待) 修改文件名2 如何在运行一个程序,调动另一个程序? 高手请进,由两个adodataset,产生另外一个adodataset,该怎么办? 4444 ASP动网论坛漏洞分析!! 高分求助:在oracle中保存图片问题 我想买个二手笔记本作asm,vc++编程,现在有两个算合适,我应选?????? vftable是什么东西? 难道bcb的程序员都要当和尚吗 现在有很多注册表清理工具,请问注册表清理的原理是什么? An Urgent Problem about Word 2000----Is that an mission imposibile ?(s---o---s:high score is warranted) 请看看这个函数... 如何确定线程运行消耗的资源量? 文件系统的树形列表怎么做啊,不要ocx的 为何我使用javascript中location'****.jsp'跳到某一页面,jsp页面不重新编译执行 VC6.0没有声音怎么办 循环20000000次所需要时间(急) 如何使按钮象工具栏上的按钮一样当鼠标移到按钮上时出现文字说明? 关于使用GDI+转换文件格式的问题. 各位能不能介绍点比较经典的算法的书籍,大家分享一下 如何恢复或新建临时表空间????在线等候!!!马上给分! Gis 请教一个数据库的问题,欢迎发言提出解决方案 ??怎样用asp程序把一段html代码转换成纯文本格式? 下拉数据窗口不能下拉是什么原因啊? 有关用VB做数据库的简单问题、ComboBox控件问题! 大家帮我看看这段程序为什么值为0 oracle8.1.7的数据库备份文件怎样恢复到oracle8i上 ? 怎样屏蔽flash的右键菜单,弹出自己的菜单? 我想问一下有没有不写入数据库用ASP代码可以查看当天的浏览访问量 灌水区的水越来越没质量了,你觉得呢? 按钮消息响应的问题,详细请看进去再看 异常详细信息: System.Data.OleDb.OleDbException: 无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。 求助,网页制作0=={=========>(在线等,送分) 谁能告诉我《C++Builder 5编程实例与技巧》这本书在哪儿可以下载到完整的电子版!高分感谢! 请教如何将一张图片旋转? 关于流媒体和vc++的结合,高人请进!! 关于DataOutputStream和DataInputStream求教 会DirectX的一起来讨论! 4444 菜鸟求助~~~ help me 加湿器如何加水的问题?加湿器是从下面加水的,我们有特殊用途,所以从上面开了个孔,用根水管直接把水在上面通进来,但是这样加湿器的侧面一圈会溢出水来,下面排风扇口也会漏出水来,请问 关于折射式天文望远镜的问题“垂直的目镜” 有什么用?就是那个长长的目镜.1.5XErecting Eyepiece 一个细胞产生的精子遗传物质可能互不相同.减数分裂不是将遗传物质平分给子细胞吗?为什么会可能互不同? 空气加湿器怎么加水 传统的铁路钢轨铺设在枕木上,通过—————的方法来减小压强,防止铁轨下陷 同一个体内,遗传物质不完全相同的细胞可能是精子细胞吗? 有几个不知道什么字体的几个字不认识怎么办 请帮忙推荐一款折射天文望远镜!包括各种配件,仪器,品牌,价格在2000元以内, “精子是精原细胞经减数分裂形成的,遗传物质与体细胞不同”这句话该怎么理解? 水轮机主轴密封的作用是 什么? 某几何体的三视图如图所示,则它的体积是?某几何体的三视图如图所示,则它的体积是?求详解.答案为8-三分之二π答案详细且清楚者优选为最佳答案. 在铁轨下面铺设枕木,是增大还是减小对地面的压强啊?为什么? 气压机岗位如何影响反应岗位的? 若某空间几何体的三视图如图所示,求体积2 光的折射 天文望远镜折射天文望远镜中的凸透镜是由多层玻璃组成的,这些玻璃是怎样利用折射率不同来减缓色差的? 如图在△ABC中,分别以AB,AC为边,向外做等边△ABF和等边△ACE.连接BE,CD于O,求证AO平分∠EOF 某几何体的三视图如图所示,它的直观图是怎么样的? 如何用生活中的材料制作一个简易的天文望远镜太阳滤光膜,是用身边能买到的材料. 黄铜螺丝与紫铜氧焊时,黄铜螺丝怎样才不发黑 自制折射式天文望远镜镜筒要多长自制折射式天文望远镜 物境口径200mm 焦点是500mm需要多长的镜筒呢 这些材料可以制造天文望远镜吗 光导纤维简称光纤,是传输光的介质.光纤抗干扰能力强,能减小信号衰减.光纤在使用是利用什么来传输信息的? 火车轨道的枕木下为什么要用石子? 怎样制作天文望远镜?我突发奇想想做一架天文望远镜,请问有高手能告诉我制作 步骤 以及 材料 方面的详细信息吗?我是看外国人12岁就能做出来,我想证明中国人也是可以的!一定要能看到宇 黄铜螺丝与紫铜氧焊时怎样不发黑 为什么火车轨道之间的枕木的长度总是一样长的 怎么制作天文望远镜 以AB,AC为边作正三角形ABF,正△ACE,连接BE、CF交于点O,求证:OA平分∠EOF【ao是连一起的啊】 火车到上枕木上石子是干什么的 看到杂志说,葡萄籽含有最多的花青素,但是葡萄籽让人怎么吃啊.又涩又苦.其他还有什么可以补充花青素的? 如图在三角形ABC的AB,AC边的外侧作等边三角形ABF和三角形ACF,连接BE,CF,且BE,CF相交于O,求OA为角EOF平分线 含有花青素的葡萄籽有哪些牌子 抽取铝银粉浆要用什么水泵? 空间几何体的直观图面积怎么算 轨道枕木的作用?为什么是这样? 什么东东 肯德基的什么东西最好吃 下列能完成一切生理功能的细胞是 A变形虫B受精卵C人的红细胞D根毛细胞解释一下说原因答案是什么 叶的保卫细胞、鱼的红细胞、蛙的皮肤上皮细胞、人的口腔上皮细胞图片1楼说的是那本生物书啊 ,那个版的啊 求封闭气体的压强玻璃管与气体匀加速运动,水银柱长h1,图片:http://hi.baidu.com/%C6%F8%CC%E5%D1%B9%C7%BF%CC%E2/album/item/38d8103adc329d45ebc4af8f.html# 伦敦形成的最重要的区位因素是? 下列细胞中,线粒体数目最多的是 A人的口腔上皮细胞 B洋葱表皮细胞 C成熟的红细胞 D甲状腺机能亢进肝细胞 关于封闭气体的压强如果容器倾斜一下,那么封闭气体的压强方向会变掉么?假想一个容器有活塞,是水平的,然后倾斜了.我是说封闭气体的压强,不是大气压 西安市形成的区位条件 两个直径都为9cm的钢管无缝焊接在一起,如何操作?另外,数学上有刨弧线这个概念吗?我都没听过,只知道抛物线...或者是建筑施工方面的,知道的说一下, 如何增大或减小物体压强(压强大小的影响因素是什么)? 地域的地理条件与地域文化的形成有着怎样的关系 《醉翁亭记》中描写山间四季景色的句子 浙江省的城镇空间分布有哪些主要特点?宁波市形成发展的主要经济地理区位和杭州市形成的主要自然区位是条件 怎样制作折射式天文望远镜和怎样使像为正立的是加多少度的镜 欧阳修《醉翁亭记》一文中描写四季景色的句子是什么? 加湿器怎么加水呢? 试从压强的角度说明铁轨铺设在枕木上的好处 在《醉翁亭记》中描写琅琊山水间四季景色的句子是: 加湿器怎么加水别人送了一个联邦卡通青蛙的加湿器,没有说明书不怎么会用,想问一下从哪里加水,我找了上面透明的部分可就是打不开,那怎么往里加水呢? 我想知道怎么做30倍的折射式天文望远镜,物镜焦距多大,目镜焦距多大物镜直径多大,目镜直径多大.分辨率多大,等数据. 来自同一个精原细胞的精子,它们的遗传物质是否相同?为什么? 美的空气加湿器kj10f-nm加水么 铁路的钢轨铺在枕木上是增大压强还是减小压强 精细胞变形为精子后遗传物质完全相同吗
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘