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

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


输入限制确认-VB资料 熟悉VB的集成开发环境 鼠标取词-VB资料 谈变VB中APP.PAHT的注意事项 探讨高效的排序合并算法-VB资料 剔除INI文件中的注释部分-VB资料 提取可执行文件中的图标-VB资料 添加记录到文档菜单-VB资料 突破 SendKeys 的限制-VB资料 突破SendKeys的限制 -VB资料 圖面背景透明的技巧-VB资料 退出并关闭 Windows-VB资料 托盘程序详解(二) -VB资料 托盘程序详解(一) -VB资料 我怎样确定我的程序是否在运行?-VB资料 无重复随机数序列产生器 -VB资料 显示打开方式对话框建立文件的关联 -VB资料 显示动画鼠标图标-VB资料 修复VB5启动时可能出现的一个bug 修改IE的环境菜单-VB资料 修改安装向导生成的缺省安装目录 -VB资料 修改屏保口令 -VB资料 修改屏幕保护的口令 -VB资料 旋转字体 -VB资料 延时函数-VB资料 一个关于乘法溢出问题的探讨 -VB资料 一组VB实用小程序 一组VB应用技巧 隐藏和显示任务栏-VB资料 应用 WSH 读写注册表和建立快捷方式 -VB资料 VB用 IIF 和 SWITCH 以精减代码 图片文件上载页,在上载页中实现预览的问题?急! 我的Asp为什么不能执行? 请教xml问题。 如何动态获得表单中checkbox中的name的值还有获得其值。 如何在UNIX下配置 Tomcat4.0 + Apache1.3 + JDK1.3? 在线等待! 请问版主:为何我在本版搜索“多语言”,找到的结果中没一个打得开? 如何在一个菜单项里控制另一个菜单项的状态(如变灰) 菜鸟问题 关于几个按钮布局?急 求救:关于在程序中运行其他程序的问题! 请问哪有Report Machine的下载? 请问只知道备份文件如何恢复数据库? To:qxjavajava: 哪里可以找到scjd的题目大家先做一下? 高程水平压线通过后的一点总结 请帮初学者看看这段简单的代码!感激t0 '_bstr_t' : missing storage-class or type specifiers 文件操作安全问题,请微软专家和各位高手进来看看 请教tdbgrid如何在非绑定模式下加入新行写入数据 问一下,在datagrid里加入comboBox控件后,怎样使comboBox的边框不可见? ==高手请看,数据库备分恢复问题== 这两种赋值方法真的有区别吗?内有代码,请指点 关于与后台连接的问题 请问黑龙江中程成绩怎么查? 如何用sql语句统计满足条件的记录数? 用ASP作下拉式菜单怎么坐呀?蛮着急的呀!! 一个看似简单实则绕脑的小问题 pb8是否内嵌easerver服务器? help 请教高手:一个写输出的问题,再线等待 我在一个组件中定义了一个Text2的属性,可如何让它显示在VS。NET的属性框中呢。 用了XTREME后,它自己生成的SDI框架中,菜单.状态栏的字体太小,我想改成9号宋体,怎么办? 怎样在数据库里保存文件! 急急。。得到树的导航?在线等待!! 刚才忘记说了,如何在sql里给中文排序? 请问有什么函数可以将BigdDecimal类型转换成为String类型??(很着急!) 来者有分 今天天气很好,出来晒晒太阳!你说哪? J2EE 和J2SE 的区别? 双网卡的机器上安装Oracle的listener的配置 查了有关目录,文件的函数没找到,问一下各位,怎样判断一个目录是否为空目录? 怎么搞的,又看不了帖? 请问有什么函数可以将BigdDecimal类型转换成为String类型??(很着急!) 如何用TUXEDO同步调用存储过程? 两个SQL Server通过拔号互连为何连不通呢?ICU!!! 心情不错,散分 想写一个自定义控件,里面包含一个button控件,一个text控件,和一个JS文件。如果做到button事件调用js文件后,能传到text控件? 怎么样让DBedit1.text的值在修改后需要点击button1后才由程序去修改,不是由它自己修改,但是readonly不能真和不用普通组件怎么样做? BUILD出现以下错误怎么办?? 关于stringgrid组件的太多使用问题急急急!!!50份相送倾我一半分给你 如何在BehindCode....... 如何在UNIX下配置 Tomcat4.0 + Apache1.3 + JDK1.3? 在线等待! ★中程过了,明年是不是可以直接考系分?? 摄影师纵拍香港完美天际线《陆贞传奇》大婚剧照曝光 陈晓赵丽颖过去最流行的情趣内衣古代历朝最流行穿什么?几千年的审美演张雨绮慈善晚宴斗艳章子怡 水蓝色鱼尾性感脱衣舞娘蒂塔-万提斯内衣写真曝光歌手臧天朔假释出狱后首度公开亮相KTV“陪唱女”的真实夜生活这些食物你敢吃吗奥迪女未带驾照被罚骂交警:你站这就是男子冒充红会人员骗走白血病患儿救命钱68岁农村老太精通11门外语 大学生瞿颖素面朝天皮肤黝黑无星味 自带水杯倪妮捞金获众人护行 与老外热聊亲密贴陈豪承认正准备婚事 婚礼举办地选定在Selina昔日炸伤视频曝光 老公发姚晨黑白大片如茶花般娴静自若 流光溢罗志祥舞蹈老师卷入淫乱派对 狂欢视频俞灏明《爱在春天》爆炸前帅气萌照《爱在春天》公布爆炸视频 俞灏明:第清秀萌妹校服照走红网络万和拟建热能科技公司地点定西部生态产思考秩序和规矩的本源“友情价”卖出假古董这个世界疯狂了 比萨都长到28吋了“九丈九”龙船将起龙安徽滁州城市职业学院原院长黄修玉涉嫌这属于既遂央企反腐监督力量增至7支金湾整治艺术职业学院地质隐患信息快车凝聚防范打击违法犯罪保护群众安全强大粤民企首次在美发商业票据美的集团融资湖南一法警涉抢劫杀人 官方回应:他是三大运营商加入宝宝大战优势何在北京17个进京要道增设武警持枪把守密码来自闲聊中米易:不让“窗口”成为冷漠的摆设触摸人们心中底线2014“嘉顿健康早餐课堂”近日开课老字号莫迷恋 新吃食莫辜负百余元中药卖到近4千
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘