• 我使用 RubyMine 来开发 ember.js + rails =.=
    我压根就会将自动补全给关掉, 然后需要的时候再手动巧一下快捷键.

    很多框架的支持在 jetbrains 的产品基础平台上基本都是通过插件集成的, 插件的质量我用过的官方自己支持的是真的高质量. 比如 scala, Angularjs, Nodejs, ideavim, Handlebars 的插件~

    用 RubyMine 的最大原因是, 被 jetbrains 的产品养成了快捷键,集成的工具的使用习惯以后, 换到任何其他的工具都觉得不顺手, 写东西不够快...

    • 开发模式都已经从瀑布变成敏捷了~
    • 测试已经从版本通测变成持续集成了~
    • 收费也要开始从 License 变成 Subscription~

    趋势, 趋势, 趋势.

    产品该更新一定会更新, 不更新的产品就是等着被更新的产品代替掉 用户看上的产品以解决问题为主, 如果他已经不存在那个问题了, 是 License 还是 Subscription 对他也没区别了.

  • 欢迎回到家乡创业~ 交流交流~~~

  • 赞赞赞

    补充一个的 Ember.ComponentEmber.GlimmerComponent 对比的视频连接, 这两个人好欢乐 😄

    Angle Bracket Components Sneak Peak by Yehuda Katz and Godfrey Chan @ EmberSF

  • #28楼 @camel 😄 赞收到 @hlxwell Dedux => Redux 😁

    前端的 angular, react.js, emberjs 这三个体系为你提供的完整的前端解决方案. 这三种纯前端方案在现在的前端领域里面是佼佼者, 无论你选择哪一个你都不会被带偏. 如果实在想知道选择哪一个? 那么就自己拿支笔, 拿张纸尝试着将你感兴趣的浏览器前端框架/工具向上面那五个点所组成的圈圈里面套, 哪些能够更加适合你现在的项目你就选哪个. 如果想看工程编码方面的, 找开源项目去了解, 找符合你代码口味的. (看多了会麻木的... 所以有空写个 demo 也无妨)

    附带一些成功的案例, 大家用的都很 Happy~

    angularjs

    react.js

    ember.js

  • 忍不住了, 不管是对是错我还是要吐吐槽了 下面是我手绘的一张图, 是我对在浏览器中前端要处理的内容的一些简单理解

    我们在前端变化来变化去, 其实都是围绕着四个重要的概念以及相互之间的交流的变化在玩:

    • Data 前端显示什么的具体信息是什么?
    • View 页面长成什么样的结构?
    • URL 到底访问什么数据什么页面?
    • Action 你要对页面做什么?
    • API Server 解决 Data 内容的来源

    无论我们说的是框架也好工具也好, 都在解决浏览器中这个前端中的问题, 而这些框架/工具其实都是某一类问题的解决方案. 例如 Virtual Dom 出来之前, 大家在 View 里面基本都是 string -> html -> innerHTML / replace 的思路, 再细化一些是局部 html 的 replace 思路. 新的 Virtual Dom 思路冒出后, 无论是 react.js 的 jsx -> dom -> dom diff 也好, ember.js 中的 string -> html -> dom -> dom diff 也好, 也就是这两种思路的不同实现.

    从 Data 到 View 之间的这段路, 能够让 View 中的内容随着 Data 变动而变化有着 M-V-P, MVVM, two way binding, one way binding 这些不也是从解决着相同问题的不同方案思路吗? 新的思路出来, 不都或多或少有着一点现成思路的影子吗?

    Angular.js 中的 directive 与 Ember.js 中的 Component, React.js 中的 Component 不都是为了解决前端组件的重用问题吗?

    Flux 中抽象的 Action -> Dispatcher -> Store -> View, 与 ember.js 或者 backbone.js 中传统额 Controller/Component callback register 不都是在解决 View 中产生的 Event 变为什么 Action 做什么事情吗?

    现在的 Relay v1.0, 和已经存在的 ember-data 以及 JSON-API , GraphQL 大家不感觉这是在解决同样的 API Server <-> Data 之间的问题吗?

    Fast Boot 也好, React.js Server Render 也好还是现在 Google 的各项产品都在用的 json 数据预先输出, 不都是从最初如何做到 SPA 也能被像普通 Web 应用一样 URL 访问就获得数据吗? (单独抽象 Virtual Dom 然后 React.js render 到不同终端是另外一个方向的思路扩展了)

    所以我只想说:

    1. 其实大家都在同一个方向上, 因为大家在解决的问题都是一样的. 只是不同的框架/工具拥有不同的思路, 或者有不同的定位, 或者实现方式不一样.
    2. 无论框架/工具现在是什么样? 如果要解决浏览器中前端的问题, 最终总会出来非常相似的组件. 只是时间的早晚罢了. (不是不需要, 只是时间未到)
    3. 找一个你觉得其拥有持续开发潜力, 有成熟商业支持的前端体系去落地就行了, 不需要迷失在这百花齐放的前端世界~

    PS:

    • 接触 ember.js 4 个月
    • 接触 react.js 7 天
    • 接触 angular.js 1 天
    • 前端 JavaScript 也就 2,3 年

    所以, 我对前端的认识也有限~ 看到大家对前端如此的热烈的讨论, 让我甚是热血沸腾. 写这些真所谓是"不吐不快" 啊.

  • @ericguo @feitian124 @zq9610 pods 功能有了,估计是还有一些啥东西没收尾所以写道 2.0 的发布 blog 里面去,并且还没有搞完。 其实这应该是 ember-cli 中的内容才对 - -|| pods 的目录结构和 route 文件路径解析

    Angle-Bracket Component 是被当作相当重要的变化引入的哦,这直接是受 React 影响,将 emberjs 中 Component 的传入的参数数据处理方法从默认双向绑定变为默认单项绑定,朝着DDAU前进的哟(data down action up), 继续往后,现在 {{#xx }} 写法是会被删除的。 以及朝着 Web Component 标准的定义改变 emberjs 中 Component 等的写法,也是为了以后能够和 Web Component 规范和其他Web Component 组建能合并使用。然后,其实这个功能也已经有一个 feature.json 开关了('ember-htmlbars-component-generation')

    Rouable Component 也已经有一个 step one 的 pull request 被 merge 开启了一个 feature.json 里面的开关 (ember-routing-routable-components) 但后面仍然还有蛮多事情要做去完善这个 feature 的

    PS:有 feature.json 开关代表功能已经有了,但还不完善,随着开发完善度,会从默认关闭到默认开启再到从列表中删除称为正常 feature (emberjs 项目的开发工程问题挺完善的)

    @peter 选择一个落地即可,因为你会发现其实大家思想都基本朝一个方向跑,不会出现大的偏差。 差异在定位,实现方式,社区,生态环境上等等这些因素上。

  • 一个 Socket.IO 程序的疑问 at 2015年08月14日

    @yanguango 其实如果传入的 function 里面没有调用方法外的环境变量的话还是不存在闭包的, 只是 function first class 传入一个 function 作为 param 罢了.

    不过, 这个每次 connection 回调函数被触发, 应该每次都被创建了一个新的 client 实例, 并且都因闭包形成一直存在于内存中

  • 一个 Socket.IO 程序的疑问 at 2015年08月13日

    @daqing connection 回调函数中你用到了 redis 这个方法外的环境变量. 其实这个回调函数已经是形成一个闭包, 回调方法中的所有成员变量都会一直存在了(也用到了 io). 回调方法的已经将当前的 Execution Context 和回调方法外的 Execution Context 这两个 Context 放到他的 scope chain 中去了.

    Execution Context, Scope Chain

  • 其实 2.0 发布后木有激动啊 .... 要

    • Angle-Bracket Components
    • Pods
    • Routable Components

    这三个功能实现才激动啊 - -||

    补充连接 EMBER.JS 2.0 RELEASED

  • Rails 到底该选择什么 server at 2015年08月11日

    @kgen 求问, 为啥 SaaS 是劳动力密集型~

  • 深圳很近~ :thumbsup:

  • 👎 如果是嵌套, 长篇的文字看到后面就眼花了...

    我倒是觉得类似 知乎 或者 Discourse 这两种方式比较适合阅读.

  • @gonglexin ...................

  • 持续交付初探 at 2015年07月20日

    @shawnyu 有用~ 真实案例很有用~

    我有个额外的问题, 选择使用 gitlab 而非 private 的 github 是出于什么目的呢? 代码安全还是?

  • @msg7086 不行... 如果是 docker 的 container 运行, 那么应用在 container 内是不感知也不推荐想办法去操作宿主机的. 在 container 内执行 sudo 级别的操作, 也只能影响 container 内不影响宿主机.

  • @msg7086 如果一定需要重启服务器 Docker 则帮不上忙了, 你们更新 rails 应用需要重启 XEN , 建立虚拟网卡那么多事啊?

    使用 Docker 可以简化到给客户更新本地应用一个 Image 镜像, 然后 docker run 即可. 镜像是可以类似 git 那样有版本以及差异化叠加的. 想象一下: "更新代码-> 自动化生成 Docker Image -> 客户服务器 docker stop/pull/run[停止/更新/启动]" 然后就正常了.

  • 尝试下 docker ?

    数据, 状态存 DB, 更新/重启直接对 image 操作就好.

  • @xiaoronglv 代码跳来跳去本来是非常绕脑的... 所以有时候为了看懂一条流程, 真得拿笔简单写下几个方法之间的跳转逻辑. 全靠在脑袋里面想, 想过 6,7 个步骤后, 前面的就忘了 - -||

    其实项目中的代码乱是真实情况, 没有足够的人力财力都会先追求业务, 其次才是代码架构. (技术性公司情况会好一点, 但你也无法控制代码 100% 如你所想的架构 "完美")

  • 苹果也用 Rails at 2015年07月12日
  • 顺带提醒大家下: @abuiles 为让大家都来学习 ember , 让 ember-cli 101 书的价格降低到 $1

    @abuiles 真的是来用全力推广 ember.js ember-cli 101 还需要感谢 @andor_chen 的中文翻译!! ember-cli 101 chinese

  • 还可以加上一个 ember-cli-styles-reloader 因为 #2371 还没解决

  • eBay sdk 有没有 ruby 的 at 2015年07月03日

    https://github.com/bjjb/ebayr 这个? 但上传的 xml 文件需要自己编写

  • 其实我还蛮喜欢 expect 这样的语法的 😄

    这种破坏习惯的改变肯定是会有争论的~

  • sorry, 上面是测试号回复了... 在正在开发中的 ember-rc 中登陆错了 - -||