现年52岁的Bernardo Castilho先生是GrapeCity(中文名为葡萄城)ComponentOne公司的CTO,在与他的对话过程中。充满风趣严谨和厚重的历史感。
当作为年轻人的我们崇拜着各式娱乐男神女神时,他的偶像却是这个世界上最为杰出的科学家。从少年时代開始。编程成了他的兴趣爱好。并终于成为了他许以一生的职业。作为Wijmo 5开发团队的Leader之中的一个,他是HTML5、JavaScript等众多技术的行家里手,在採訪他之前,笔者特地在CSDN论坛上发起了一个问题征集的活动,接下来,就让我们一起看看Bernardo Castilho先生就自己、团队以及Wijmo都回答了哪些问题吧。
图:GrapeCity ComponentOne CTO Bernardo Castilho先生
CSDN:首先,请向我们的读者自我介绍一下,能够分享一些您的小八卦。
从业以来,有哪些印象深刻的经历?从Web到移动,有哪些经验分享?
Bernardo Castilho:我的编程生涯能够追溯到少年时代。当时我使用的是一台45k内存的Apple II。我沉醉于这种能让一切事物变得格外简单的编程滋味儿。上世纪90年代初,当我编写出我的第一款适用于Visual Basic 1.0的自己定义控件,这种爱好变成了我许以一生的职业。
一直以来。我都非常热爱阅读。假设必须选择一本的话,我会推荐侯世达的《哥德尔、埃舍尔、巴赫:集异璧之大成》,从严格意义上来讲。它并非一本编程书籍。但它却涵盖了包含万物相连在内的诸多领域。
我也有非常多的偶像。比方阿基米德、伽利略、牛顿、高斯、冯·诺伊曼、艾伦·图灵等,但在我的生命中,我最崇拜的人是Turbo Pascal、Delphi、C#和TypeScript的创造者——安德斯·海尔斯伯格,我參加过他非常多的演讲,他独到的见解与想法总会让我倍感惊喜。
在过往25年的职业生涯里,我有幸目睹了Web革命的完整历程,从上世纪的一个天才想法逐渐演变成为今时今日人们生活中不可或缺的一部分。从向一个平台公布内容到一次编程处处执行的跨平台应用。于我个人而言,从Web到移动最重要的转折点是微软决定停止开发Silverlight,它让我看到了HTML5和JavaScript将成为未来的技术趋势。
从我涉足这一行业開始。一切都变得有趣起来,回首过去,人们发明了个人电脑和万维网。许很多多惊天地的事情对现实生活产生了剧烈影响。而今天,冒着像个老男人一样唠叨的风险。我看到非常多年轻的孩子在iPad上浪费他们的大好光阴,而成年人则成日在Facebook等社交网络上刷屏度日,甚至还有的人在为他们的下一部手机该选个什么颜色而苦恼。
当然。在此之中。仍然有很多有趣的事情正在发生。仅仅是还不为人知罢了。
对我来说,EcmaScript 5、TypeScript、AngularJS以及Wijmo 5都格外地有趣。希望会有很多其它的人喜爱它们。
CSDN:请详细说一下Wijmo 5是什么?为什么将其命名为“Five”?
Bernardo Castilho:Wijmo 5是新一代的HTML5/JavaScript控件库,採用最新和最受欢迎的技术,包含了开发可执行于桌面与移动设备之上的现代MVVM应用须要的全部控件和组件,而且。它不再兼容不论什么传统浏览器。我们仍然会继续支持并更新Wijmo 3。以便传统浏览器的用户还能继续使用。
Wijmo 5的“Five”实际上来自于EcmaScript 5。在Wijmo 5中有一项非常重要的特性。就是真正实现了对于getter和setter属性的支持,这是EcmaScript 5新加入的部分。也是Wijmo早期版本号一直缺乏的东西。
CSDN:请讲讲Wijmo 5开发团队的成员以及分工情况。
Bernardo Castilho:Wijmo 5团队的大部分人也负责其它的产品开发工作。
我们利用在各自擅长领域的专业经验来为各个类别的开发项目创建拥有最好品质的控件。
就我而言。我之前负责了从ActiveX、Winforms到XAML等FlexGrid全部版本号的开发工作,而我在Grid方面也拥有着极为丰富的经验,并把它们带到了Wijmo 5 FlexGrid的开发中。Alex Trefilov是Wijmo 5 FlexChart控件的开发人员。他一直负责XAML图表控件的开发工作,能够说是图表方面的行家。Tim Emanuel是我们的主设计师兼CSS专家。他创建了Wijmo控件的外观和布局行为。以及可轻松新建控件主题的LESS文件。
Chris Bannon是Wijmo的产品经理,负责包含Wijmo 5在内的Wijmo全部版本号的研发工作。Chris在Web开发、HTML5、JavaScript以及包含jQuery、SVG、Bootstrap、AngularJS、KnockoutJS等的全部流行JavaScript技术和控件方面绝对称得上是行家,他为我们了解当下最先进的Web开发技术以及该怎样开展研发工作投入了大量的精力。Alex Ivanenko是我们的项目经理,负责包含构建过程、自己主动化測试、Bug管理及用户请求等基础架构工作。而Wijmo 5的全部演示演示样例则是由Raleigh Johnson来开发的,Nazim Turakulov是我们负责交互层的开发人员,主要包含AngularJS和KnockoutJS指令等。Kim Landis是我们的技术文档project师,主要负责文档、技术论文博客等的审校工作,确保全部信息都是简洁明白的。而市场经理Eve Turzillo则负责包含广告、视频、会议等在内的推广工作。除此之外。我们另一个分布在中美等国家的开发团队。同一时候负责Wijmo 3和Wijmo 5产品的开发工作。
CSDN:Wijmo 5的开发用到了哪些技术?详细的开发思路是怎样的?
Bernardo Castilho:2013年,当我们看到通过EcmaScript 5、HTML5、TypeScript、AngularJS等全新的Web技术能够创建出像Silverlight和.NET中的那些工具一样强大的HTML工具时,我们决定开发Wijmo 5。
我们想要创建一个这种库,当我们的客户习惯于体积更小、依赖性更弱的其它平台时。能够为他们提供拥有相同强大的功能及灵活性的控件。
我们使用到了jQuery,但不包含jQuery UI、Raphael、Globalize或其它的库。
我们希望这些控件能够充分利用HTML5随处执行的特性,因此,全部的控件设计都以可良好执行于移动/触屏及桌面设备为前提。
图:Wijmo 5设计草图
Wijmo 5使用TypeScript语言编写,它融合了包含类、继承等在内的面向对象编程全部长处,并编译成EcmaScript 5。从而实现可执行于全部现代浏览器。此外。TypeScript还提供了静态误差检查,能够极大地加快开发速度并提供产品质量。
Wijmo 5的控件拥有着非常丰富的对象模型,在我们其它平台已有控件的基础上,利用我们作为控件开发人员的经验优势来降低客户的学习曲线。而且。我们还从Silverlight移植了JavaScript堆栈所缺失的类,当中就包含和MVVM应用关键接口ICollectionView类似的Control和Event基础类。
CSDN:这款工具做了多久?遇到过哪些坑?
Bernardo Castilho:我们用了一年的时间来开发Wijmo 5,整个过程能够说非常顺利。但也遇到了一些挑战。而最大的挑战当属文档。我们渴望能够找到像JSDoc这种工具来将代码凝视编译进在线帮助系统,但却无功而返,终于,我们自己编写了一款能够从源代码中提取凝视并生成支持本地化的XML文件的工具。另外。另一款专门用于将XML文件编译成Web页面一起汇成帮助系统的工具,这样一来,不管何时构建Wijmo,我们的帮助网站都能实现自己主动更新。
相对而言。其它的问题则easy得多。
CSDN:Wijmo 5和Wijmo在本质上有哪些不同?与同类工具相比,Wijmo 5的优势在哪儿?
Bernardo Castilho:Wijmo 5与之前诸多版本号的Wijmo存在着非常大的不同。而且全然不相兼容,它包含了一系列截然不同的控件,不同的架构。最为关键的是,它不再对传统浏览器提供支持。
与其它同类工具相比,Wijmo 5的控件体积更小。速度更快,并有着更为富足也易于使用的对象模型,整个Wijmo 5库也就300k大小,同类产品则通常比它大10倍左右,Wijmo的控件不是“widgets”,而是真真正正的控件,拥有着更棒的性能。
CSDN:关于Wijmo 5未来会有哪些规划?是否会考虑开源?
Bernardo Castilho:我们没有将Wijmo 5开源的计划,相反,我们会将Wijmo 5以一个极具竞争力的价格出售。并提供用户支持。对于Wijmo 5的未来发展。我们有一套路线图以及用户请求列表。在公布Beta之后,我们会将所收集到的信息汇总出一个优先级列表,依据它们来制定详细的实施计划。
CSDN:非常多开发人员关心,Angular与其它流行组件集成时是否会存在问题?
Bernardo Castilho:对于Angular的支持实际上是Wijmo 5开发的重点项目之中的一个,我们热爱AngularJS。并在大部分的演示样例中使用了它,而且,我们还提供了指令来让使用带有AngularJS的Wijmo 5变得更easy。另外,对于控件本身。Wijmo 5另一个CollectionView类。让使用AngularJS的MVVM开发达到XAML平台的水准。
CSDN:假设开发人员想将项目从Wijmo向Wijmo 5迁移。该怎么实现?
Bernardo Castilho:从Wijmo向Wijmo 5迁移非常easy,假设开发人员使用AngularJS和MVVM,那么就能够通过对控制类进行细微的调整并指令执行以旧换新操作。就可以完毕项目迁移。当然,我们非常乐于为用户提供迁移指导,在官网的NewsGroup版块就包含了Wijmo等主题相关的信息,对开发人员而言绝对非常有用。
图:Wijmo 5代码截图
CSDN:在Wijmo 5的介绍中,有一块“真正的JavaScript控件”。可否详细讲讲它所指的意思?
Bernardo Castilho:从字面意思来理解。“控件”是指一个具备用户接口以及包含属性、事件、方法等的对象模型的可反复使用的软构件。大多数JavaScript库所提供的都是与控件极为类似的组件(Widget),仅仅只是,组件的性能有一个单一却相当难管理的“Options”对象。而且。它们使用调用方法或附加事件处理程序的字符串,导致语法冗长又easy出错。
而Wijmo 5则全然不同。它实现了getter和setter等属性支持,拥有真正的事件和方法。
全部的对象模型都是类型安全的,开发人员可从IntelliSense和TypeScript编译器受益。最重要的是。Wijmo 5语法和JavaScript类一样简洁,代码更易于编写、阅读和理解。
CSDN:Wijmo 5控件能否够依据设备或浏览器进行自适应?其通用性怎样?
Bernardo Castilho:Wijmo 5控件支持包含手机、平板电脑、PC在内的全部设备。不管开发人员选择使用哪种布局框架。都能够完美集成。比方说,我们大部分的演示样例都是用Bootstrap来实现自适应布局。这就确保了应用程序不仅能够执行于小屏设备之上。还能自适应。当然,有些演示样例还用到了其它框架。比方专门用于开发混合应用的Ionic。Wijmo并不提供布局服务。但不管开发人员选择Bootstrap、Ionic还是其它不论什么CSS库,都可将其轻松集成到Wijmo中。
CSDN:Wijmo 5在中国有哪些技术支持?假设中国的开发人员们遇到问题该怎样寻求帮助?
Bernardo Castilho:我们将为来自中国的开发人员提供一流的服务支持。
我们的母公司GrapeCity在中国的上海和西安都设有分公司,关于Wijmo 5开发的很多工作都是在中国完毕。假设来自中国的开发人员们关于Wijmo有不论什么的问题,都能够在GrapeCity论坛提出。我们的开发人员一定会及时提供帮助。
CSDN:作为资深程序猿,能否谈谈您对于HTML5/JavaScript技术趋势的看法?
Bernardo Castilho:在我看来。EcmaScript 5、TypeScript、AngularJS等技术的更新已经让HTML5和JavaScript成为应用开发最高效有用的平台。EcmaScript 5引入了最为重要的getter和setter属性以及SVG、Canvas、JSON等支持,而在此版本号之前, EcmaScript根本不够强大。TypeScript也新增了很多关键元素,除了面向对象之外,还有能节省时间并提高代码质量的静态错误检查。AngularJS则提供了丰富的MVVM和Web组件。两者都是现代应用开发的关键部分。虽然AngularJS所具备的功能并非独此一家。但它却是当下最流行的技术之中的一个。
CSDN:最近在中国,有一个颇为热门的话题。就是Adobe关闭了在中国的研发分公司。仅留销售部门,当中非常重要的一个原因就是对于国人而言,正版软件太过昂贵,就GrapeCity控件来说,你们是否会针对中国市场进行价格调整以适应中国国情?
Bernardo Castilho:我们曾就定价进行过很多内部讨论,大部分人觉得眼下的价格是相当合适的。而有的人则希望能够添加一个价格较低但有限制条件或降低支持的选择。对于中国的开发人员,到底该提供一个什么样的价位?关于这一切,我们仍在思考中。
同一时候。依据我们在中国的业务团队的反馈,中国的企业用户非常重视技术服务,因此在中国市场。我们会提供本地化的技术支持,以及电话、邮件响应等增值服务,以帮助开发人员获取更棒的体验。
CSDN:有没有想对中国的开发人员们说的话?
Bernardo Castilho:我鼓舞全部对HTML5和JavaScript感兴趣的中国开发人员登陆我们的官网了解Wijmo 5。在这里,不仅能够下载Wijmo 5,还有视频、演示样例、文档、论坛等让你深入了解Wijmo 5。更希望来自中国的开发人员们能够以英语或中文等方式直接与我们联系。获取很多其它信息,或向我们提出建议。来帮助我们将Wijmo 5做得更好!
----------------
Wijmo 5中文官网:http://wijmo.gcpowertools.com.cn/5
Wijmo 5中文社区:http://gcdn.gcpowertools.com.cn/showforum-140.html