Blog

Blog

PHODAL

Atom 编辑器 二次开发与spark dev

看了spark(硬件, http://spark.io))对于atom编辑器的二次开发,要笑喷了。于是,我也按照spark的过程来了一遍,发现这似乎是一个不错的方法。

照例先上截图:

iot editor
iot editor

Review 二次开发

通常我们想的二次开发是这样的:

  1. Fork
  2. 在原来的codebase上改
  3. build

这样做有一个缺点是: 很难更上官方的更新

然而,spark基于atom上打patch,主要原因是需要用到旧版的atom shell,而不是electron来构建,electron似乎一点儿也不支持serialport。所以spark dev的开发流程是这样的:

  1. clone atom的repo
  2. 修改内容,commit, 生成patch文件
  3. 每次build的时候clone一下repo,再patch

缺点: 每次都要下一次atom, 这个应该是可以改进的~~。

Spark dev tasks

在gruntfile文件里,一共有这么几步。

  1. 'download-atom'。 即从github上下载atom-1.0.2,后来发现这一步可以在本地实现。
  2. 'patch-atom-version'。 替换版本
  3. 'inject-packages'。增减一些包
  4. "install-unpublished-packages', 安装一些spark的包
  5. 'bootstrap-atom' 执行``node script/bootstrap```
  6. 'copy-resources' 复制替换一些图片资源
  7. 'install-spark-dev' 安装spark dev的代码
  8. 'patch-code' 这就是神奇的一步了。

里面大概会替换一些文本,如atom-window.patch

--- atom-window.coffee.orig 2015-04-28 15:46:59.000000000 +0100
+++ atom-window.coffee  2015-04-28 15:47:44.000000000 +0100
@@ -27,7 +27,7 @@

     options =
       show: false
-      title: 'Atom'
+      title: 'Spark Dev'
       'web-preferences':
         'direct-write': true
         'subpixel-font-scaling': false

就是换应用名。。

接着就是正常atom editor插件的开发过程了。

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806

新书《全栈应用开发:精益实践》

这不是一本深入前端、后台、运维、设计、分析等各个领域的书籍。本书以实践的方式,将这一系列的领域及理论知识结合到一起,来帮助读者构建全栈Web 开发的知识体系,并辅以精益及敏捷的思想,来一步步开发Web 应用:从创建一个UI 原型到编写出静态的前端页面;从静态的前端页面到带后台的应用,并部署应用;从Web 后台开发API 到开发移动Web 应用。在这个过程中,我们还将介绍一些相辅相成的步骤:使用构建系统来加速Web 应用的开发;为应用添加数据分析工具来改进产品;使用分析工具来改善应用的性能;通过自动化部署来加快上线流程;从而帮助读者开发出一个真正可用的全栈 Web 应用。同时,我们也将帮助读者把这些步骤应用到现有的系统上,改进现有系统的开发流程。

comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

标签