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

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


南航微信服务号是如何炼成的? 超40项功能改进,虚幻引擎4.5正式发布! 【工具推荐】ER:可轻松构建一站式AJAX Web应用的开发框架 GraphLab:将大数据分析从理念运用到生产 支持Android 5.0:完全用Ruby的Ruboto框架迎1.2.0更新! 万物互联第一步:采用AllJoyn技术的智能硬件 【专访】敏捷专家何勉:让测试成为拉动组织敏捷实施的力量 Docker与微软合作 支持Windows Server 企业号热问热答——来深圳微信开发者大会聆听一线讲师的实战分享 AngularJS 1.3.0正式发布 超光速发展! 学个痛快!十款不容错过的Swift iOS开源项目 HTML5:助力智能电视生态实现新跃迁 MDCC 2014移动开发者大会公布全部议程 求更密集!Apple Watch SDK将于11月正式开放 【答疑】微信开放平台开发者资质认证 专访Informatica亚太和日本区副总裁Murray Sargant:中国公司正考虑数据资产货币化 Facebook又开源:让iOS应用界面极致流畅的ASDK框架 一周消息树:盘点史上最具毁灭性的软件Bug 微信公众平台设备功能支持个人开发者接入 2014中国移动开发者大调查第三批获奖名单曝光 微信企业号上线,带你看看它的真面目! OpenStack Juno版本发布——支持Spark和NFV 【十问十答】对话Go语言开发团队 苹果要求、Android开始,64位时代真的来了! MDCC 2014产品与设计论坛:带你发现产品之美 Java开发者值得关注的7款新工具 助力国产移动产品出海,UCloud部署北美节点 Zack Parker:用EC2在Cotap上打桩 用卫生棉杀敌冲关!两个高中女生的创意游戏 专访《Java程序员修炼之道》作者Ben Evans:保守的设计思想是Java的最大优势 Google收购Firebase 帮助程序员快速开发出移动App和Web App 各位高手,有人喜欢用mysql吗?谈谈这个东东吧 大富翁怎么连不上了? 各位武汉的大虾,请教武汉程序员、高级程序员、系统管理员(正规的大公司)、以及用JAVA做开发的工资一般为多少。希望大家给予帮助!!前途问题!! 网络编程大虾有请!如何获得当前每秒的字节数? 怎样在treeview中设置背景图片 to 版主:精华区太乱了,请给予分类。谢了 听说VB可以写PAD的程序,TRUE? JLabel中文本换行问题 马上要开始学BCB,请问BCB有那种类似于VC的创建类的向导吗,看到BCB的界面我就想到DELPHI中创建类的难度 我的游戏引擎BATTLEFIELD作好了,欢迎下载(这次是真的) 一个pop_up menu的问题 那位高手知道在SDK中使用ADO的方法 为普天之下正直而上进的程序员找一个温馨的家 为什么不能把JMF包打进去??? 内存泄露是指例如“为对象分配一个内存区后,未删除内存区,但删除了对象”是吗? 装pws时遇到的麻烦! to freezwy(网络自由人) 有没有限制上传图片大小的asp代码??(不是组件) 还是没有解决!!! 有关VC中数据库绑定的问题! 扔个骨头……下个“圈套”,呵呵? ^_^ 紧急情况!如何改变DataGrid控件中个别行的颜色?? 如果实现断开共享目录的连接 acces 表 SQL语句中如何转换字符型字段为整型? First-chance exception 请教directx的一个入门问题? 诚征MM中…… 多线程问题?? 请问sybase中real类型的最大值是多少?999999999 自杀的N个理由 如何根据日期计算出一年中的第几天? 情况不对,撤丫~~~~~~~~~ 如何在JBuilder4.0编译环境下打包\编译??????? 关于对话框的一个简单问题 如何把几个chm(已编译的 html 文件)文件合成一个chm文件 ado参数问题 请问sevrlet怎么结合HTML模板工作呢?谢谢 我想作一些动态界面,有谁能提供一些有关这方面的资料.小弟有礼了 比较弱的问题 各位大哥:请问哪儿有通过ADO操纵数据库的完整程序下载呀。最好是比较精典一点。谢 写一个php中的include文件,后缀名应该是什么。马上给分 怎么将PHOTOSHOP中分割的图片的结构植入DW4中? send 和 post的区别是什么?谢谢 哪里有《UNIX环境高级编程》这本书下载? 有没有asp的实例应用站点? 问题,请大家帮忙! 怎样删除自己曾经参与但现在不想参与的问题? 怎么样增加可用分呀?我分太少了 怎么使在网页上出现一个长方形框框,新闻在里面从左到右滚动显示 如何实现MPEG-1数据的实时回放? 到哪里下载《Windows程序设计 第5版》书 何处可以找到生成校验位的算法?即对一个长度为24位的字段,根据前22位生成最后两位校验位? 若(m+n)人完成一项工作需要m天,则n人完成这项工作需要()天请勿抄袭百度上滴,我都看过了,但还是不懂 甲乙丙三人合作承包了一项工程,6天能全部完成.已知甲单独做所需的天数与乙丙两人合作所需的天数相同,甲与乙合作所需的4倍与丙单独完成这项工程所需的天数相同,求乙丙单独完成这项工 一件工程,甲做要10天 乙做要12天 丙做要15天 甲乙合作3天后,甲因事离开,丙参加工作,问还要多少天完成? 若有M人,a天可完成某项任务,则(M+P)人完成这项任务的天数是多少 师徒三人合作承包一项工程,4天能够全部完成.已知师傅单独做所需天数与两个徒弟合作所需天数相等;而师傅 1)一项工程价单独做需10天,乙需12天,丙单独做需15天,甲丙先做3天后,甲因事离去乙参加工作,问还需几 某工程,甲单独做4天乙单独做6天,若甲先干一天,然后甲乙合作完成,设甲共做x天乙工作的天数是?列出方程共得到450元报酬按工作量计算该怎样分配 师徒三人合作承包一项工程,4天才能全部完成.一直师傅单独做所需的天数与两个徒弟合作所需的天数相等,而师傅与乙徒弟合作的时间的2倍与甲徒弟单独做所需的天数相等,那么甲徒弟单独完 一项工作甲单独做要10天,乙要15天,甲先做了2天后,乙接着做,还需几天完成说明白什么符号是什么意思,不要不明不白弄一大堆算式...除号用#表示就行 一项工程,甲乙合作15天完成.现在有甲队先做四天后,乙队接着做六天,共完成这项工程的7分之20,甲乙独做这项工程各需多少天?要有意思1992/1993的分子减去一个数,分母加上这个数后,分数值是2/3 甲单独做4天,乙6天完成,甲先做一天,甲乙再合作做,设甲一共作x天,乙工作天数?列出的方程? 甲乙两人承包一项工程,共得报酬610元已知甲做10天,乙做13天,但因甲的技术比乙的技术好,因而预先就约定是甲做4天的工资比乙做5天的工资还要多40元,求甲、乙两人各分得多少元?用一元一次 一项工程,甲乙两队合作6天完成,甲队单独做15天完成,现在由甲乙两队合作2天后,调走乙队甲队还需几天可以完成?我要算式和步骤。 某项工作甲单独做4天完成,乙单独做6天完成,若甲先干一天,甲乙合作完成.若设甲有共做了X天,乙的天数为多少?方程式为? 甲乙两人承包一项工程,共得报酬610元,已知甲做10天,乙做13天,但因甲的技术比乙好.问题:因而预先就约定甲做4天的工资比乙做5天的工资还要多40元,甲乙两人各分得多少元? 一项工程,甲乙两队合作6天可以完成,甲队单独做15天可以完成,现在由两队合作2天后,甲队单独做,还需几天才能完成? 某项工程甲单独做要4天乙单独需6天,若甲先做1天,然后二人同做,若甲共做X天,则方程为?要方程 甲乙两人承包一项工程,共得报酬610元,已知甲做8天,乙做10天,但因甲的技术比乙好,因而预先约定甲做4天比乙出做5天的工资多40元,完成一个工程,甲乙各分多少元? 一项工程,甲、乙合做15天完成.现在由甲队先做4天后,乙队接着做6天,共完成这项工程的二十分之七,如果由甲、乙独做,完成这项工程各需几天?详细算式,不要只是一个答案~谢啦,还给追分,今天 完成一件工作,需要甲干5天,乙干6天,或者甲干7天乙干2天.甲乙单独干这件工作各需多少天?设甲是x那...完成一件工作,需要甲干5天,乙干6天,或者甲干7天乙干2天.甲乙单独干这件工作各需多少天? 甲乙两人承包一项工程,共得报酬610元,已知贾做了10天,乙做了13天,但因甲的技术比乙好,因而预先就约定甲做4甲乙两人承包一项工程,共得报酬610元,已知贾做了10天,乙做了13天,但因甲的 一项工程甲乙两队合作6天可以完成甲队单独做15天可以完成现在由两队合作3天后调走乙队,甲队还要几天完成? 一项工程,甲乙合作需要a天完成,甲单独作需要b天完成,则乙单独作需要的天数是多少 甲乙两人承包一项工程,共得报酬610元,已知甲做10天乙做13天,但因甲的技术比乙的技术好因而预先就约定甲做4天的工资比乙做5天的工资还多40元,甲,乙各得多少元(方程解)(思路)(一元一次方程) 甲乙二人共同做一件工作,规定若干天完成,若甲单独完成这件工作比规定天数多12天...甲乙二人共同做一件工作,规定若干天完成,若甲单独完成这件工作比规定天数多12天;若乙单独完成则比 有一项工程,甲单独做要a天完成,乙单独做b天完成,问甲乙合做完成这项工程需要几天才能完成? 一项工程,甲单独做要8天完成,乙独做需要10天完成,二人合作了4天,还剩这项工程的几分之几? 已知甲,乙两个共同完成一件工作需12天完成.若甲,乙两人单独完成这件工作,则乙所需的天数是甲所需天数的1.5倍.设由甲单独完成这件工作需X天.则方程____________________________________. 一项工程,甲单独做a天完成,乙独做b天完成,则甲、乙两人合做,这项工程多少天可以完成? 一项工程,甲乙合作8天完成,如果甲独做10天可以完成.两队合作4天,可以完成这项工程的几分之几?有计算过程和方法的优先 甲乙二人共同做一件工作,规定若干天完成,若甲单独完成这工作,则比规定天数多做12天;若乙单独完成这工作,则比规定天数多做27天,求甲乙单独完成这件工作各需多少天? 甲、乙2人合干A.B2项任务.甲独做A需9天.B需12天.乙独作A需3天.B需15天,至少几天能完成任务? 一项工程,甲队单独做8天完成,乙队独做要10天完成.两队合作的一天,共完成这项工程的几分之几? 已知甲乙两人共完成一件工作需12天完成.若甲乙两人单独完成这件工作,则乙所需的天数是甲所需天数的1.5倍设由甲单独完成这件工作需X天,则可列方程_________________ 甲,乙两人合干a,b工程甲独做a工程需九天b工程需十二天;乙独做a工程需三天b工程需十五天至少几天完成任务 一项工程,甲独做10天完成,乙独做15天完成.(1)甲、乙两队合做4天,完成这项工程的几分之几 某项工程,由甲单独做要a天完成,乙单独做要b天完成,现在甲先单独做2天,剩下额工作由乙单独做,则要完成此工程,还需要几天? 一项工程,甲乙合作20天可以完成,如果甲先做9天,乙再和甲一起做15天也可以完成,求甲乙单独做要多少天?用初二所学的知识解答(分式?反比例?)这个方程怎样解? 一项工程,甲队单独做10天完成,乙队单独做15天完成,两队合做5天,完成这项工程的几分之几? 某项工作,甲做要A天,乙做要B天,现甲单独做2天后,剩下工作由乙单独做,则乙完成剩下的工作所需多少天 有甲乙两个工程,甲人独做甲工程要9天,乙工程12天.乙人独做甲工程要3天,乙工程15天,如两人合作要多少天? 一项工程甲队独做10天完成;乙队独做15天完成,两队合作1天完成这项工程的几分之几? 某项工作,甲单独做要a天完成,乙单独做要b天完成.现在甲单独做2天后,剩下的乙做,乙要做多少天才能完成 一项工程,甲干4天,乙再干9天完成这项工作的1/2,已知甲、乙功效比是3:2,两人合做几天完成?是合做几天.. 一项工程,甲要15天完成,乙要20天完成,;两队合作6天后,完成这项工程的(),还剩()没有完成这是另一道题:甲除以乙的商是1.2,甲与乙的比是() 一项工程,甲单独做a天完成,乙独做要b天完成,现在甲先做3天,剩下的工作由乙独做还需要()天才能完成列代数式代数式要化简 某项工作,甲单独做要a天完成,乙单独做需b天完成,现在甲单独做2天后,剩下工作由乙单独做,则乙完成所剩下的工作所需天数是多少 一件工程,甲独做10天完成,乙独做12天完成,两人合作4天后,还剩下这件工程的几分之几? 某项工作,甲单独做要a天完成,乙单独 做需b天完成,现在甲单独做2天后,剩下工作由乙单独做,则乙单独 数学题一项工程,甲单独做6天的工作量,乙单独做要用7.5天才能做完 现在先由甲单独做2天后,乙加入合做5天一项工程,甲单独做6天的工作量,乙单独做要用7.5天才能做完现在先由甲单独做2天后, 一件工作甲单独做12天可以完成乙单独做十天完成,如果两人一起做这件工作两天后还剩下几分之几? m人a天可完成一项工作,如果增加n人,那么几天可完成这项工作?急用 某项工作,甲单独做需a天,在甲做了c天后,剩下的工作由乙单独完成某项工作,甲单独做需a天,在甲做了c天(c 一项工程甲单独做需要10天 乙需要12天 丙单独做需要15天,甲、丙先做3天后,甲因事离去,乙参与工作问还需几天完成? m人完成一项工程要a天,且每人工作效率相同,那么(m+n)人要多少天完成?请说明为什么AM是总工作量, (1)一项工程,甲队独做a天完成,乙队独做b天完成.两队合作,完成的天数是( ). 有一项工程甲单独做要10天,乙单独做12天,丙独自做15天,甲丙先做3天后,甲离开乙加入工作还要几天完成 3.若m人在a天可完成一项工作,那么m+n人完成这项工作需_______天(用代数式表示). 一项工程,甲单独做a天完成,乙队独做b天可以完成.两队合作,完成的天数.用字母表示 一件工程,甲单独做需10天,乙单独做需12天,丙独做需15天,甲、乙合作3天后,甲因事离开,丙参加工作,问还需多少人完成?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn