
{"id":1832,"date":"2012-04-10T14:04:50","date_gmt":"2012-04-10T13:04:50","guid":{"rendered":"http:\/\/www.matthijskamstra.nl\/blog\/?p=1832"},"modified":"2012-04-19T09:35:08","modified_gmt":"2012-04-19T08:35:08","slug":"haxe-and-nme-ide-and-editors-osx","status":"publish","type":"post","link":"https:\/\/www.matthijskamstra.nl\/blog\/2012\/04\/10\/haxe-and-nme-ide-and-editors-osx\/","title":{"rendered":"haXe and NME IDE and Editors OSX"},"content":{"rendered":"<div class=\"update\"><strong>Update #1:<\/strong> <a href=\"https:\/\/twitter.com\/#!\/slluis\/status\/190399155108196354\" target=\"_blank\">The Haxe MonoDevelop add-in is now available in the official add-in repository<\/a> So starting with haXe development got easier! (<a href=\"http:\/\/addins.monodevelop.com\/Project\/Index\/41\" target=\"_blank\">check the MonoDevelop add-in repository<\/a>). <a href=\"#install_haxe_addin\">Updated install<\/a><\/div>\n<p>I&#8217;ve been playing around with <a href=\"http:\/\/haxe.org\/\" title=\"haXe\" target=\"_blank\">haXe<\/a> for some time now. And when you do that, you will automatically notice <a href=\"http:\/\/www.haxenme.org\/\" title=\"NME\" target=\"_blank\">NME<\/a>.<\/p>\n<p>HaXe is really awesome and very easy to learn when you are a ActionScript (AS3) developer. (NME has a great <a href=\"http:\/\/www.haxenme.org\/developers\/documentation\/actionscript-developers\/\" title=\"cheat sheet\" target=\"_blank\">cheat sheet<\/a> which also works for haXe).<\/p>\n<p>But this post is not about explaining haXe or NME (just read the links I provided) and it&#8217;s not a tutorial about programming in haXe.<br \/>\nThis is about programming: an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Integrated_development_environment\" title=\"Wikipedia about IDE\" target=\"_blank\">IDE<\/a> to help you develop much quicker.<\/p>\n<p>There are a lot of IDE which support haXe: <a href=\"http:\/\/haxe.org\/com\/ide\" target=\"_blank\">just check it here<\/a>.<br \/>\nIt seems like a big list&#8230;. but not entirely true&#8230;<br \/>\nFor windows it&#8217;s easy: just get <a href=\"http:\/\/www.flashdevelop.org\/\" title=\"Flashdevelop\" target=\"_blank\">FlashDevelop<\/a>.<br \/>\nBefore I moved to OSX, I did all my Flash development on it and it rocks!<\/p>\n<p>But for OSX it&#8217;s not that easy. So it comes down to a few contenders&#8230;<br \/>\nSadly <a href=\"http:\/\/sambrick.wordpress.com\/2012\/03\/23\/haxe-ide-choices-for-mac\/\" target=\"_blank\">Sam Brick<\/a> beat me with writing about this subject.<br \/>\nHe only ends up taking another route&#8230; because there was no other choice.<\/p>\n<p>But because I already started writing this post, I will finish it.<\/p>\n<p>First I tried the editor I use for my Actionscript programming:<br \/>\n<img decoding=\"async\" src=\"http:\/\/img.brothersoft.com\/screenshots\/softimage\/f\/fdt-188981-1.jpeg\" alt=\"\" width=\"500\"\/><\/p>\n<h3><a href=\"http:\/\/fdt.powerflasher.com\/\" title=\"FDT\" target=\"_blank\"><strong>FDT 5<\/strong><\/a> (PC, Mac and Linux) (free and \u00e2\u201a\u00ac249\/\u00e2\u201a\u00ac499)<\/h3>\n<p>FDT is a commercial product (FDT max) but there is a free version (FDT free). And both version support haXe.<br \/>\nAlthough I love FDT for AS3 programming, I don&#8217;t feel that way for haXe. I miss to many features I have in the AS FDT (templates, trace, snippets, format, autoimport). It also feels very sluggish (I know Eclipse doesn&#8217;t help with that, but it feels soooo slow compared with the as3 counterpart.). And it doesn&#8217;t support NME and so although I wrote <a href=\"https:\/\/github.com\/MatthijsKamstra\/FDT-Haxe-project-templates\" title=\"FDT-Haxe-project-templates\" target=\"_blank\">FDT templates for NME<\/a>, it doesn&#8217;t help you.<br \/>\nFDT made a clever move adding haXe to its editor, but it should be labeled beta.<\/p>\n<p>So I moved to my second editor on OSX:<\/p>\n<h3><a href=\"http:\/\/macromates.com\/\" target=\"_blank\"><strong>TextMate<\/strong><\/a> (Mac only) (\u00e2\u201a\u00ac44.85)<\/h3>\n<p>TextMate is a commercial product, but it will not set you back that much. You can try it for 30 days. And it&#8217;s awesome. I use it to open files quickly.<br \/>\nBut what I don&#8217;t like about TextMate is the autocompletion&#8230; it&#8217;s under escape&#8230; doesn&#8217;t feel natural.<\/p>\n<p>So my search brought me to a new editor:<\/p>\n<h3><a href=\"http:\/\/www.sublimetext.com\/2\" target=\"_blank\"><strong>SublimeText 2<\/strong><\/a> (PC, Mac and Linux) (USD $59)<\/h3>\n<p>SublimeText 2 is a commercial product just like TextMate. You can evaluate this product for free and there is currently no enforced time limit for the evaluation.<br \/>\nThis one is very good, still in beta but very useable.<br \/>\nYou need to install the haXe bundle: <a href=\"http:\/\/haxe.org\/com\/ide\/sublime_text\" target=\"_blank\">the instruction can be found here<\/a>   <\/p>\n<blockquote><p>The haXe Sublime Text 2 bundle enables:<\/p>\n<ul>\n<li>haXe compiler code completion and hints<\/li>\n<li>syntax highlighting and basic completion for hx, hxml, hss and nmml files<\/li>\n<li>Sublime build system integration<\/li>\n<li>hxml parsing, automatic creation, and multiple build management (ctrl+shift+b)<\/li>\n<li>supports NME projects (nmml)<\/li>\n<\/ul>\n<\/blockquote>\n<p>This editor would have been my choice if there was no MonoDevelop (just wait and you will see \ud83d\ude1b ).<\/p>\n<p>Another great solution would be:<br \/>\n<img decoding=\"async\" src=\"http:\/\/www.jetbrains.com\/idea\/img\/intellij_idea_new_ui.png\" alt=\"\" width=\"500\"\/><\/p>\n<h3><a href=\"http:\/\/www.jetbrains.com\/idea\/\" target=\"_blank\"><strong>IntelliJ IDEA<\/strong><\/a> (PC, Mac and Linux) (<a href=\"http:\/\/www.jetbrains.com\/idea\/buy\/index.jsp?\" title=\"Buy IntelliJ IDEA\" target=\"_blank\">from \u00e2\u201a\u00ac94 -> \u00e2\u201a\u00ac664<\/a>)<\/h3>\n<p>IntelliJ IDEA is a commercial product that you can try out for 30 days. It&#8217;s the choice that <a href=\"http:\/\/sambrick.wordpress.com\/2012\/03\/23\/haxe-ide-choices-for-mac\/\" target=\"_blank\">Sam Brick<\/a> ended up with. I can&#8217;t tell you much about it.<br \/>\nI did install it but haven&#8217;t tried it simple because I already have FDT (set me back \u00e2\u201a\u00ac499) and IntelliJ would cost another \u00e2\u201a\u00ac189 (Personal license) for experiments.<br \/>\nBut it seems very powerful and I know some AS3 developers who use it, so in that scenario IntelliJ would be the obvious choice.<\/p>\n<p>Here comes the most promising editor (for now):<br \/>\n<img decoding=\"async\" src=\"http:\/\/monodevelop.com\/@api\/deki\/files\/201\/=ss-main-window.png?size=webview\" alt=\"\" \/><\/p>\n<h3><a href=\"http:\/\/monodevelop.com\/\" title=\"Monodevelop\" target=\"_blank\"><strong>MonoDevelop<\/strong><\/a> (PC, Mac and Linux) (free!)<\/h3>\n<p>MonoDevelop&#8230;. it even sounds like FlashDevelop and its free like FlashDevelop. This is so new that there is not a lot of blogging done about it (<a href=\"http:\/\/www.saumyaray.com\/saumya\/archives\/1042\" target=\"_blank\">Saumya<\/a> beat me to it \ud83d\ude41 )<br \/>\nThis is one awesome project which is so new it still has ribbons on it! One of the lead programmers of NME; <a href=\"http:\/\/www.joshuagranick.com\/\" title=\"Joshua Granick\" target=\"_blank\">Joshua Granick<\/a> asked himself why FlashDevelop (his code editor of choice) couldn&#8217;t be ported to Linux and OSX.<br \/>\nHe learned from previous attempts and made a start with it&#8230; and it works!<\/p>\n<p>I&#8217;m not going to repeat what Joshua said; just go and visit his blog and read about it (and then return here again&#8230;. I&#8217;ll just wait for a minute of two) <a href=\"http:\/\/www.joshuagranick.com\/blog\/2012\/04\/06\/flashdevelop-for-maclinux-part-1\/\" title=\"Joshua Granick\" target=\"_blank\">FlashDevelop for Mac\/Linux: Part 1<\/a><\/p>\n<p>If you want to know about the latest development of this addin, you can follow Joshua on twitter: <a href=\"https:\/\/twitter.com\/#!\/singmajesty\" title=\"https:\/\/twitter.com\/#!\/singmajesty\" target=\"_blank\">@singmajesty<\/a>.<\/p>\n<p><strike>Currently you have to copy the .dll from the git repository to a the correct folder but then it should work fine.<br \/>\nBut that can change very quickly:<\/p>\n<blockquote><p>I&#8217;m waiting for MonoDevelop to allow my add-in in the official (beta) repositories. That will make it much easier to upgrade in the future<\/p><\/blockquote>\n<p><a href=\"https:\/\/twitter.com\/#!\/singmajesty\/status\/189520421706678274\" target=\"_blank\">source<\/a><br \/>\n<\/strike><\/p>\n<p><a name=\"install_haxe_addin\"><\/a><br \/>\n<strong>Note:<\/strong><br \/>\nOh still here? You want to know how to get started?<br \/>\n<strike><del datetime=\"2012-04-12T12:12:57+00:00\">First you need to download <a href=\"https:\/\/github.com\/jgranick\/md-haxebinding\/blob\/master\/HaxeBinding\/bin\/Debug\/MonoDevelop.HaxeBinding.dll\" target=\"_blank\">MonoDevelop.HaxeBinding.dll<\/a> from Github: press the button &#8220;Raw&#8221; and the file will be downloaded.<br \/>\nThen you need to copy it in the folder: <code>~\/Library\/Application Support\/MonoDevelop-2.8\/LocalInstall\/Addins<\/code>.<br \/>\nThis folder will not be there so you need to create it for yourself (this path is when you use OSX and installed the latest MonoDevelop). <\/p>\n<p><em>Don&#8217;t feel very comfortable doing that? <\/em><br \/>\nMonoDevelop can create the folder for you &#8230; but you still need to copy the .dll yourself.<br \/>\ngoto: MonoDevelop > Add-in manager&#8230; > gallery > IDE extensions > Specflow Support > install&#8230;<br \/>\nand then uninstall it again (folders are made, but you don&#8217;t need the extension)<\/del><\/strike><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.matthijskamstra.nl\/blog\/wp-content\/uploads\/Screen-shot-2012-04-12-at-14.16.29.png\" alt=\"\" title=\"Add-in manager from MonoDevelop\" width=\"500\" class=\"alignnone size-medium\" \/><br \/>\nYou don&#8217;t have to install it by hand&#8230; just goto:<br \/>\n<code>MonoDevelop  > Add-in Manager > Gallery tab > Language bindings > Haxe language Binding<\/code><\/p>\n<p>This is not the latest version (as fare as I know) so if you are more adventurous the github download and install is still the way to go (that&#8217;s what I&#8217;m doing).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Update #1: The Haxe MonoDevelop add-in is now available in the official add-in repository So starting with haXe development got easier! (check the MonoDevelop add-in repository). Updated install I&#8217;ve been playing around with haXe for some time now. And when you do that, you will automatically notice NME. HaXe is really awesome and very easy [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[360],"tags":[68,408,254,412,366,367,365,253],"class_list":["post-1832","post","type-post","status-publish","format-standard","hentry","category-haxe","tag-actionscript","tag-as3","tag-editor","tag-haxe","tag-ide","tag-joshua-granick","tag-nme","tag-osx"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.matthijskamstra.nl\/blog\/wp-json\/wp\/v2\/posts\/1832","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.matthijskamstra.nl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.matthijskamstra.nl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.matthijskamstra.nl\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.matthijskamstra.nl\/blog\/wp-json\/wp\/v2\/comments?post=1832"}],"version-history":[{"count":10,"href":"https:\/\/www.matthijskamstra.nl\/blog\/wp-json\/wp\/v2\/posts\/1832\/revisions"}],"predecessor-version":[{"id":1868,"href":"https:\/\/www.matthijskamstra.nl\/blog\/wp-json\/wp\/v2\/posts\/1832\/revisions\/1868"}],"wp:attachment":[{"href":"https:\/\/www.matthijskamstra.nl\/blog\/wp-json\/wp\/v2\/media?parent=1832"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.matthijskamstra.nl\/blog\/wp-json\/wp\/v2\/categories?post=1832"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.matthijskamstra.nl\/blog\/wp-json\/wp\/v2\/tags?post=1832"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}