From 1abe365e328b61d7fc6442ccf4b829f404603ad9 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Sat, 18 Dec 2010 11:16:48 -0800 Subject: [PATCH] added old post on using emacs for webos development --- posts.json | 1 + ...-emacs-to-develop-mojo-apps-for-webos.html | 101 ++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 using-emacs-to-develop-mojo-apps-for-webos.html diff --git a/posts.json b/posts.json index 83c8b5f..7a88c40 100644 --- a/posts.json +++ b/posts.json @@ -3,5 +3,6 @@ , "a-preview-of-mach-o-file-generation.html" , "basics-of-the-mach-o-file-format.html" , "working-with-c-style-structs-in-ruby.html" + , "using-emacs-to-develop-mojo-apps-for-webos.html" ] } diff --git a/using-emacs-to-develop-mojo-apps-for-webos.html b/using-emacs-to-develop-mojo-apps-for-webos.html new file mode 100644 index 0000000..4545fd8 --- /dev/null +++ b/using-emacs-to-develop-mojo-apps-for-webos.html @@ -0,0 +1,101 @@ +Title: Using Emacs to Develop Mojo Apps for WebOS +Date: November 21, 2009 +Author: sjs +---- + +

+ The latest technology I've been learning is Palm's SDK for webOS, + Mojo. My first impression is that it's a great platform and + Palm could do a great job of 2.0 if they cut down on some of the + verbosity of gluing together the UI. I have learned to like + JavaScript over the years as I learned that despite its + warts there + are good parts too. If you squint just right you can + see that it's scheme with Algol syntax. HTML and CSS are what + they are, but with WebKit running the show and only a single engine + to target it's not that bad. I've gone from Eclipse to Emacs + for the coding itself and highly recommend Emacs for Mojo + development. There is nothing that I miss from the Eclipse or + Komodo Edit thanks to the fact that Mojo uses open languages and + standards. +

+ + +

+ As far as actual development goes the Mojo documentation steers you + towards a combination of Eclipse, Palm's Mojo plugin for Eclipse, + and the Aptana Studio plugin. My editor of choice is Emacs but + I decided to give it a spin just to get started quickly, how bad + could it be? I'm not going to get into details but I will say that I + don't think I'll ever use Eclipse for anything; it's far too + sluggish and provides no compelling features for the languages + that I use. I tried Komodo Edit and it was significantly + better but still not for me. Emacs is great for editing HTML, + JavaScript, and CSS so all I really missed from the IDEs were the + shortcuts to package, install, and launch apps in the + emulator. I headed over to + the Emacs Wiki and + downloaded Jonathan + Arkell's Mojo + support for Emacs which provided a great base to get + started with. There are wrappers around (all?) of the Palm SDK + commands but it needed a bit of work to make it just do what I + wanted with as little input and thought as possible. +

+ +

+ A couple of of Lisp hacking sessions later and I'm happy enough with + mojo.el to bump the version to v0.9. I've checked off what I + feel are the most important checkpoints on + the webOS + Internals comparison of editors and the framework is in + place to make implementing most of the remaining commands very + trivial. I might take a bit of time today to flesh things out + just to check more points off so people feel more confident that + it's a fully featured environment, because it certainly is. +

+ + +

+ It now requires json.el in order to parse appinfo.json. json.el + might be included with Emacs if you have a very recent version, + otherwise you can google for it or get it from + my config + file repo on github where you can also find my latest + version of mojo.el. You still just (require 'mojo) in your + .emacs file. +

+ +

+ The wrappers around Palm SDK commands now search upwards for the + Mojo project root directory (from the default-directory for + current-buffer) and parse appinfo.json to give you sane defaults for + mojo-package, mojo-install, mojo-launch, mojo-delete, and + mojo-inspect. You can list installed apps and when entering app + ids there is completion and history, as you have come to expect in + Emacs. The most useful command for development is + mojo-package-install-and-inspect which does exactly what it says: + packages, installs, and launches the application for + inspection. No interaction is required as long as you are + editing a buffer inside your Mojo project. +

+ + +

+ If you read the install instructions in mojo.el and decide to setup + some keybindings then you will have single-task commands for + packaging, installing, launching, or all three steps at once. +

+ +

+ Please give me some feedback if you try this out. I've + developed it on Mac OS X and Jonathan on Windows so please try it on + Linux and send me a patch or even better a pull request on github if + it needs some work. There is room for improvement. The next feature + on my radar before I would consider it worthy of a v1.0 tag is + intelligent switching to corresponding buffers, + e.g. mojo-switch-to-view, mojo-switch-to-assistant, things like + that. Basically things I miss from the Rails package for Emacs. +

+ +

Happy hacking!