为什么Discourse选择ember.js

简介: Discourse的推出在整个社区赚足了眼球,由于Discourse选择使用Ember.JS作为前端MVC框架,这促使Ember.JS也成为了热议的话题。一年多以前SproutCore2正式改名为Ember.JS后,本人持续的关注了Ember.JS的开发过程,见证着Ember.JS的成长。Ember.JS的API在整个社区共同协作的基础上日趋稳定,Ember.JS 1.0.rc1的推出,更是标着其API已经成熟。我相信越来越多基于Ember.JS实现的优秀的应用,将会像雨后春笋般涌现出来。

Discourse的推出在整个社区赚足了眼球,由于Discourse选择使用Ember.JS作为前端MVC框架,这促使Ember.JS也成为了热议的话题。一年多以前SproutCore2正式改名为Ember.JS后,本人持续的关注了Ember.JS的开发过程,见证着Ember.JS的成长。Ember.JS的API在整个社区共同协作的基础上日趋稳定,Ember.JS 1.0.rc1的推出,更是标着其API已经成熟。我相信越来越多基于Ember.JS实现的优秀的应用,将会像雨后春笋般涌现出来。

image.png

Robin Ward(Discourse的发起者之一)在2013年2月10日撰写了一片博文Why Discourse Uses Ember.JS,从他个人的角度阐述了为什么Discourse选择Ember.JS作为前端MVC框架。一下为Robin Ward的几个核心观点:


  • Ember.JS的文档简单易懂
    Robin Ward通过与Angular.JS Guides比较,Robin认为较Angular.JS而言,Ember.JS的文档简单易懂,对于初学者来说更是如此。
  • Ember.JS早期已经取得了令人瞩目的成绩,近期更是有了大幅的改进
    Meteor在推出的时候,同时给出了一个非常精彩的示例,但是它却缺少了一些非常重要的安全特性。但是就Ember.JS而言,在其最早期的时候(我想应该是指0.9.x),其提供的功能就已经相当的棒了。Robin感慨选择用Ember.JS来开发Discourse的正确性。另外,从Ember.JS的首次发布到现在,其API经过了非常大的调整,运行也变得越来越快。最新的API里面包括一个新的路由(Router)接口,这从很大程度上进一步降低了让人讨厌的重复代码。
  • Ember.JS核心开发团队在开源社区有骄人的历史成绩
    Yehuda Katz在Rails 3和Bundler完成了让人称口叫绝的工作(还有Merb、jQuery等),而且团队的其他成员也非常的优秀。Yehuda在与Robin的交谈时说他自己已经疯狂的迷恋上了Ember.JS,而Robin也深信这一点,因为Ember.JS实在是太优秀了。
  • Ember.JS采用了字符串类型的模板
    Ember.JS与Angular.JS不一同的一点是其采用了字符串类型的模板,而Angular.JS采用的是DOM类型的。这点完全是因为Robin的个人喜好,但是他也强调了如果要做一些服务器端的渲染,那么字符串类型的模板要比DOM类型的容易很多,因为不需要启动一个完整的PhantomJS的环境。
  • Ember.JS的运行循环
    Ember.JS的运行循环机制是其能得意获得高性能的一个基础,Ember.JS采用批量更新的方式来保持DOM的同步。相比其他很多框架采用循环逐一进行同步更新的机制来说要快了许多。
相关文章
|
安全 Java Maven
MapStruct使用教程2024(高级版)
MapStruct使用教程2024(高级版)
|
网络协议 数据可视化 Shell
最详细的Mac下安装nacos教程来了
最详细的Mac下安装nacos教程来了
3652 0
|
网络安全
【技术分享】Mac使用iTerm2连接远程服务器
【技术分享】Mac使用iTerm2连接远程服务器
3359 0
【技术分享】Mac使用iTerm2连接远程服务器
|
数据采集 Web App开发 文字识别
高并发数据采集:Ebay商家信息多进程爬虫的进阶实践
高并发数据采集:Ebay商家信息多进程爬虫的进阶实践
Mac终端使用oh-my-zsh中文乱码
[oh-my-zsh](https://ohmyz.sh/)是个好东西,我就不多介绍了。 但是默认却对中文支持不太好,有时候在服务器端查看中文会显示乱码。
|
9天前
|
人工智能 开发工具 iOS开发
Claude Code 新手完全上手指南:安装、国产模型配置与常用命令全解
Claude Code 是一款运行在终端环境中的 AI 编程助手,能够直接在命令行中完成代码生成、项目分析、文件修改、命令执行、Git 管理等开发全流程工作。它最大的特点是**任务驱动、终端原生、轻量高效、多模型兼容**,无需图形界面、不依赖 IDE 插件,能够深度融入开发者日常工作流。
3146 8
|
12天前
|
Shell API 开发工具
Claude Code 快速上手指南(新手友好版)
AI编程工具卷疯啦!Claude Code凭借任务驱动+终端原生的特性,成了开发者的效率搭子。本文从安装、登录、切换国产模型到常用命令,手把手带新手快速上手,全程避坑,30分钟独立用起来。
3200 20
|
1天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队版、Coding Plan或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
|
5天前
|
人工智能 Linux BI
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
JeecgBoot AI专题研究 一键脚本:Claude Code + JeecgBoot Skills + DeepSeek 全平台接入 一行命令装好 Claude Code + JeecgBoot Skills + DeepSeek 接入,无需翻墙使用 Claude Code,支持 Wind
2141 3
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek

热门文章

最新文章