macOSアプリまたはOS Xアプリを開発しようと思ったとき、どんな方法をとりますか?
今であればXcodeでswift3を使って・・・と考えるのが第一なんだろうと思います。でも、ボクは思いました。確かにプログラミングは楽しいし、新しいプログラミング言語を覚えるのもワクワクする、ただそれがベストな道か?と。
プログラミングの世界は本当に幅広くて、実際の世界とは別にもうひとつの世界が存在しているかのような広い空間の中に生きているような気分になります。次から次に出てくる新しいフレームワークを覚えて、アップデートされた言語仕様を追い続けて、それでいいのかと。
このmacOSアプリをつくる必要が出てきた以前には、Ruby on Railsを使うためにRubyを覚えたり、非同期通信アプリをつくりたくてNode.jsを勉強したり、クローラーをつくるためにPythonに触れてみたり・・・そう、キリがないし、ひとつひとつの深度が浅いまま過ごすことになると気づいたのです。それと同時に、使用する主要言語は2-3言語に絞るのが良いのではないかと考えたのです。
事前の考えとしてこのようなプロセスで、方法論をリサーチしたので、結果的にSwiftを直接書くということを回避することができ、開発効率が上がったように思います。
様々な場面でこのような考えは正しいのではないかと信じていますが、今回はmacOSアプリ制作の選択肢のリサーチ結果をシェアしたいと思います。他にもあるとおもいますが、おすすめの選択肢に絞らせていただきます。
Xcode - Swift3
https://developer.apple.com/xcode/
スタンダードな選択肢です。これからiOSアプリの開発やmacOSアプリの開発をメインに行っていく方は、こちらがおすすめです。迷わずSwiftを学習してください。これから紹介する他の選択肢はプラットフォームであるApple社がいつシャットアウトするかわからないという点で安定性に欠けると思いますので、iOS、macOSアプリ専門のエンジニアでいくならこれしかありません。
Electron - Node.js,Chromium
http://electron.atom.io/
JavascriptとHTMLとCSSでmacOSアプリがつくれます。Github社のオープンソースプロジェクトで、同じコードからWindowsアプリを書き出すこともできるクロスプラットフォームという概念のもと設計されています。Github製エディタAtomのアプリもこれでつくられています。残念ながらiOSアプリはつくれませんが、macOSアプリやWindowsアプリならいい感じです。デスクトップアプリを考えている方は有力な選択肢の一つです。ちなみにボクはこれを採用しました。SlackアプリなんかもElectronで作られているというので有名どこですね。
RUBYMOTION
http://www.rubymotion.com/jp/
RubyでiOS、macOS、Androidアプリがつくれます。これもクロスプラットフォームです。流行に乗ってRuby on Railsをかじった人はそのままこの選択肢が早いと思います。公式サイトの顧客一覧にはSalesforceやBasecampなども紹介されていて、実績もあるようですね。サポートが充実しているみたいなので、企業ユースとかにいいかもしれません。
簡単にではありますが、macOSアプリをつくった際の選択肢をみなさんにご紹介ということで、まとめました。
クロスプラットフォームサービスを見つけたときは、本当に便利だなーと思いました。ご参考まで。