写点什么

Flex 技术创业公司推动新语言学习

  • 2008-04-24
  • 本文字数:1783 字

    阅读完需:约 6 分钟

近来,对于很多新兴创业型公司来说,选用 RIA 技术来实现他们的创意和服务已经不是什么新鲜的事情了。正处于起步阶段的基于 Adobe Flex 技术的 Babbel 就是其中一个例子。为了让读者能够对如何设计和实现一个应用 Flex 技术的新起步应用的构架有一个深刻的了解,InfoQ 就此采访了 Babbel 背后运营公司 Lesson Nine GmbH 的 CTO-Thomas Holl。

Holl 首先这样描述 Babbel:

Babbel 是一个基于社区的在线语言学习工具。Babbel.com 提供德语、英语、法语、意大利语及西班牙语课程,将社交网络的乐趣融入到有趣并有效的词汇扩充和句型构造的工具中。

而后,他回答了创建 Babbel 的初衷:

2006 年年末时,我们曾试图寻找一个现代的在线语言学习工具,让我们感到惊讶的是,当时还没有一个像 Babbel 这样的工具。现在的形势看上去已经在慢慢开始转变。但那个时候,能找到的词汇练习都极为基础,界面也不是非常友好。另外,你能买到的 CD-ROM 或 DVD 上的多媒体应用不仅昂贵,而且无论是在技术还是内容上都很陈旧。通过控制台进行的教学游戏是 Babbel 概念的角色模型-这些简单的应用使用起来很有趣并且获得了大众的喜爱。

在 Flex 与 AJAX 的比较上,他解释说:

从一开始就很明显,我们的站点应该使用流行的多媒体选项,比如播放音频、动画以及在后台缓存数据使得之对请求的回应更快。去年在我们着手开发的时候,除了 Flex 框架以外,再没有什么技术更能符合我们对 Babbel 定下的愿景了。我们也许可以通过 AJAX 来做很多事情,但那样就不得不处理繁多的 JavaScript 库,另外,用户体验也还是无法匹及 Flash 应用。

在众所关注的 Babble 开发所使用的技术上,Holl 和大家分享道:

我们有 4 个开发人员参与了 Babbel 的开发,其中 2 个关注 Flex 客户端,另外 2 个则开发了运行在 Amazon EC2 实例上的基于 Ruby On Rails 的后端。2007 年 5 月,我们一切从零开始,直到 2008 年 1 月发布第一个版本,整个开发历时 8 个月。

服务器端的实现包括了 12000 的 Ruby 代码,Flex 客户端的实现大概有 50000 行代码(包括 7000 行自动生成的集成代码)。

我们一直遵循一个循环的开发流程,并发现以一周为循环周期对我们来说最适用。除此以外,我们还使用了最实用的工具和流程,例如,使用 Subversion 来管理版本;采用 Trac 来跟踪事件(defect tracking)、文档编制(documentation)及交互(communication);通过 Ant / Capistrano 自动构建/部署(automated builds/deployment )等等。

Holl 也谈到了在 Babbel 的开发过程中所遇到的挑战:

为了实现从客户端对后端服务的访问,我们开始采用简单的定义语言(考虑过 WSDL,但基于 JSON 来的更为简单)来描述这些服务,然后,我们的生成器(generator)将这些定义转化为 ActionScript 方法,这样一来,客户端可以通过静态类型值对象(类也是自动生成的)来访问从服务器返回的数据(通过 HTTP 协议以 JSON 类型返回)。然而,对于某些功能(比如“people search”)将数据以这样的方式封送处理似乎不是很合适,通过编写代码来动态的创建 GUI 元素纯粹是浪费。我们想充分利用 Rails 的力量来生成 HTML 代码,但由于 Flex 所支持的 HTML 元素和风格有限,在 Flex 上显示 HTML 受到了严重的束缚,而现在,我们通过 Rails 来生成 MXML 然后在客户端显示。通过这个方法,服务器同样可以在客户端激发一些动作(比如,收到新信息的时候,需要在客户端显示一个提示)。

关于 RIA 相关技术和构架,Holl 回想道:

另外一个时不时就冒出来的问题是客户究竟可以并且应该拥有多少个不同的状态。这个问题的提出,促使我们进行了几轮优化和测试来寻找对于 Babbel 来说最好的平衡点。客户在服务器端的相关变化,服务器会在回应下一个客户请求的时候通知客户(这就不再需要 push 构架),客户收到通知以后再由其本身决定是否要与客户端同步。

什么技术可以推动 Bebbel 将来的发展?

我们会将我们的语言教学工具努力推向类似游戏的用户体验。下一个大的目标之一是集成语音和视频聊天功能,通过 Adobe 系列技术,这个功能是极有可能实现的,我们目前正在对其进行评估。之后,我们想在网络和社团特性方面添加大量的功能。另外,团队对于网站内容的管理、以及用户对网站的贡献的可能都需要得到巨大的扩展。我们还想将 Babbel 带入移动世界,这也意味着会涉及到 J2ME、Symbian 或 iPhone 的开发。

查看英文原文: Flex Startup Helps Learning New Languages

2008-04-24 10:291125
用户头像

发布了 71 篇内容, 共 22.9 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

文心一言 VS 讯飞星火 VS chatgpt (141)-- 算法导论12.1 1题

福大大架构师每日一题

福大大架构师每日一题

财务共享中心建设项目的变革管理与沟通机制

用友BIP

财务共享

飞书智能伙伴之 AI 数智参谋:先进团队,北极星指标也要遥遥领先

Kyligence

指标平台 智能决策

华为云11.11 PaaS产品|精密云工程:智能激活业务速率限时优惠倒计时

平平无奇爱好科技

华为云11.11 PaaS产品|坐看云卷云舒:运维开发一步到位

平平无奇爱好科技

SWOT是什么?10个好用的SWOT分析工具盘点,战略分析必备!

彭宏豪95

可视化 画图软件 在线白板 绘图工具 SWOT

SQL LIKE 运算符:用法、示例和通配符解释

小万哥

程序员 软件 sql 后端开发 MySQL、

中国唯一!华为入选Gartner®企业低代码应用平台魔力象限

平平无奇爱好科技

FonesGo iPhone Unlocker for Mac(iPhone解锁工具)

Rose

iPhone解锁 FonesGo iPhone Unlocker Mac解锁软件

国内首批!华为云云原生中间件DCS&DMS获软件可信“卓越级”认证

平平无奇爱好科技

强大的鼠标增强软件BetterMouse 激活版最新中文

胖墩儿不胖y

Mac软件 鼠标增强工具 鼠标管理工具

项目管理体系文件代码评审规范

金陵老街

软件开发文档

c语言基础回顾-指针 | AI工程化部署

AIWeker

c AI工程化部署

一款专为POS机设计的芯片解决方案

芯动大师

数智化赋能公立医院干部管理 激发组织活力

用友BIP

干部管理

国家超级计算济南中心低代码平台应用实践

明道云

华为云11.11 PaaS产品|云端援手:智能枢纽应对数字资产挑战

平平无奇爱好科技

「智造」第9期:一招砍成本、四档提效率,“智造”下半场如何仗剑破局?

用友BIP

智能制造

Mac文本对比工具UltraCompare中文版 支持M/intel

Rose

文件对比工具 UltraCompare 中文版 UltraCompare 下载

华为云CodeArts 11.11活动倒计时,新用户福利重磅来袭

平平无奇爱好科技

华为云11.11 PaaS产品|抢救未来增长策略:稳定、强力的云服务限时优惠进行中

平平无奇爱好科技

为什么OpenAPI是未来企业数字化转型的决定性因素?

平平无奇爱好科技

什么年代了,还不会 CI/CD 么?

极狐GitLab

CI/CD

IBM SPSS Statistics v27.0.1中文破解版 spss详细图文安装教程

Rose

spss数据统计 IBM SPSS Statistics 27

BNB Chain 成就衍生品 DEX,APX Finance 趁势脱颖而出

股市老人

从低代码的骂声说起

小粽

低代码

LeetCode题解:13. 罗马数字转整数,哈希表,JavaScript,详细注释

Lee Chen

JavaScript LeetCode

ShareMouse 破解 for Mac共享鼠标工具 ShareMouse下载安装

Rose

mac软件下载 ShareMouse 破解版 Mac鼠标共享工具 ShareMouse下载

Flex技术创业公司推动新语言学习_Java_Moxie Zhang_InfoQ精选文章