硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

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:291159
用户头像

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

关注

评论

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

Python多任务协程:编写高性能应用的秘密武器

霍格沃兹测试开发学社

云手机与实体手机的对比

Ogcloud

云手机 海外云手机 跨境电商云手机 tiktok云手机 云手机海外版

测试开发高薪私教线下班手把手带你提升职业技能

霍格沃兹测试开发学社

追求成长还是追求“高薪”?

老张

个人成长 能力提升

【第七在线】智能商品计划:重塑服装行业的供应链管理

第七在线

链路传播(Propagate)机制及使用场景

观测云

APM 链路

运用ETLCloud快速实现数据清洗、转换

谷云科技RestCloud

ETL 数据清洗 数据集成工具

短程无线自组网协议之:发展现状与趋势?

Geek_ab1536

SDWAN为什么性价比更高,价格更低廉?

Geek一起出海

SD-WAN

毫巅之微---不同写法的性能差异 番外篇

fliter

Go语言对象池实践

FunTester

测试开发高薪私教线下班手把手带你提升职业技能

测试人

软件测试

低代码开发视角下的大模型时代:探索“新思维”技术管理

不在线第一只蜗牛

人工智能 低代码 大模型 AI模型

OpenKruise :Kubernetes背后的托底

不在线第一只蜗牛

Kubernetes 容器 云原生

用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

霍格沃兹测试开发学社

中国信通院正式启动视联网产业与技术研究工作

信通院IOMM数字化转型团队

中国信通院 视频行业 视联网

媒体声音|PolarDB再升级:欢迎来到云数据库 x AI新时代

阿里云瑶池数据库

人工智能 数据库 云计算 阿里云 云原生

山寨币发展的崛起:随着比特币 ETF 重新定义市场动态,山寨币激增

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

一起畅玩!幻兽帕鲁服务器华为云搭建教程(Windows平台)

YG科技

Python多任务协程:编写高性能应用的秘密武器!

测试人

软件测试 自动化测试 测试开发

幻兽帕鲁 Palworld 私有服务器一键部署教程

硅基新手村

游戏 steam Sealos Palworld 幻兽帕鲁

软件测试/测试开发|给你剖析闭包与装饰器的魔力

霍格沃兹测试开发学社

如何快速上手Visio?从入门到精通 | Visio替代软件,建议收藏!

彭宏豪95

效率工具 在线白板 架构图 绘图软件 Visio

中国信通院筹备启动“边缘算力网络推进计划”,招募首批成员单位

信通院IOMM数字化转型团队

边缘计算 边缘算力网络

一站式解决对接问题,让企业管理更轻松!

聚道云软件连接器

案例分享

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