エンジニアtype - エンジニアのシゴト人生を考えるWebマガジン

独断と偏見で選んだ、2012年が終わる前に一度はHello Worldしておきたい言語&ツール4選【連載:村上福之⑩】

公開

 
村上福之のキャラ立ちエンジニアへの道

株式会社クレイジーワークス 代表取締役 総裁
村上福之(@fukuyuki

ケータイを中心としたソリューションとシステム開発会社を運営。歯に衣着せぬ物言いで、インターネットというバーチャル空間で注目を集める。時々、マジなのかネタなのかが紙一重な発言でネットの住民たちを驚かせてくれるプログラマーだ

2012年も残りあとわずかです。

今年もいろいろありました。僕は、今年は本の出版などもあってほとんどコードを書かない一年でした。こんなので良いのかどうか、最近悩みつつあります。自分が時代遅れになりそうで、怖いです。

しかし、そんなクズみたいな僕でも、一応、今年が終わるまでにHello Worldくらいはしておきたいなと思った技術を適当に挙げます。

TypeScript >> 巻き返しを図るMS様謹製のJavaScript

Windows 8やWindows RTへの賛否はさまざまだが、やはりMicrosoft発のモノは一度は触れてみるべきと村上氏

Microsoftの過去を知っている人たちにとっては、「どうしてMSはそこまでHTML5ラブなんだ」と言いたくなるくらい、ここ数年のHTML5への傾倒ぶりには驚きを隠せません。そんなMicrosoftが今年、TypeScriptをリリースしました。ブラウザ上で試せるのでHello Wolrdくらいはしてみるといいかもしれません。

TypeScriptはみんな知っての通り、Microsoft様が世に放たれたJavaScriptラッパー言語です。要するにJavaScriptより見やすい言語で、最終的に JavaScriptに変換してくれるというやつですね。コードは見れば見るほど、 JavaScriptのキモさがだいぶ取り除かれて、なんかスッキリしています。

キモい中括弧が取れていて、JavaやC++やPHPで飯を食っている人には、見慣れた感じに見えて、心地良いです。

ここまでいくと、「それ何てCoffeeScript」とか、「それ何てDart」とか言われそうな勢いで、繰り返された、楽ちん言語たちの歴史と同じです。しかし、個人的にはTypeScriptは一定のレイヤーにはかなり刺さりそうに見えました。

理由は、Microsoft様が作ったから。そう、それだけです。

今後のWindows PhoneアプリもWindows 8アプリも、Windows RTアプリも、すべてHTML5に対応していく方針のMicrosoft様が作った言語です。標準化に即しているかどうかはどこかに置いておいて、最近のWindows開発ページのHTML5やJavaScriptのサンプルの多さには驚きます。

さらに、すでにVisual StudioなどのTypeScriptプラグインなどが出ています。JavaScriptをいじっている人はご存知の通り、JavaScriptは複雑なアプリケーションを作るのにまったく向いていないです。そうなると、TypeScriptで書いた方が早くなるかもしれません。

今まで、JavaScript的な楽ちん化言語を作った方々より、かなり戦略的に普及させる材料がそろっているように見えます。

ただ、まだ出たばかりで、実用化と言われるとまだまだノーですが、あらゆる意味でMicrosoftの動きを象徴していて面白いです。

Heroku >> ただし、Ruby以外で!Hello World!

「HerokuといえばRuby」という印象が強かったが、さまざまな言語にも対応するようになりつつあり、より便利になる

IaaS系のクラウドサーバの王者はAmazon様のAWS(AmazonのAamazon Web Serviece)なのですが、PaaS系のクラウドサーバの王者はGoogle様ではなくHerokuになるんじゃないかと思っています。一度くらいはHerokuでHello Wolrdしてないとカッコ悪い勢いになってきました。

理由は2つ。HerokuがRuby以外もサポートし始めたことと、GAE(Google App Engine)離れが激しいから。

HerokuはもともとRubyしか動かない頑固なサーバだったのですが、今年初めに公式、非公式にほかの言語もサポートし始めました。Node.jsやPythonやJavaも動くようです。みんなが嫌いだけど使っているPHPも、非公式ながらHeroku上で動いてます。

ちょっと前まで、PaaSのクラウドサーバと言えば、Google様が作ったGAEでした。コイツもPythonとJavaしか動かない上に、APIやフレームワークが独自の頑固なPaaSでした。仕様上の制限が厳しく、マゾ向けクラウドサーバでした。その後、技術的にはさまざまな魅力的なアップデートがありました。

しかし、どんなにアップデートがあっても、縛りが厳しくて、まれに障害もあったり途中で値上げをしたりと、徐々に嫌われ始めてきたところへ、Herokuが「PythonもJavaも動くよ!」と言い出したので、移動する人が増えてきました。そして、非公式ですがPHPも動くことが判明しました。

さらに、Facebookさんと連携して、Facebookアプリが異常に作りやすくなりました。「Facebookアプリなんか儲からねーよ」と思って、僕は避けていたのですが、某出会い系Facebookアプリが月間売上3000万円を超えたらしいので、Facebookアプリも意外と侮れないと思ってます。

閑話休題。Herokuは無料でもけっこう使えるので、いいんじゃないかと思ってます。さらにさまざまなアドオンも追加されて、カネさえ払えば、いろいろ楽できそうに見えます。

問題は、PaaSなので、追加のライブラリなどがいまいち融通が利かないことがあるようです。さらに、HerokuもAWSの上で動いているので、AWSが落ちるとHerokuもオチます。

UNITY Mobile >> 2DでHello World!するといいかも

これまでは3Dの印象が強かったUnityだが、最近は2D用のアプリ開発で使われることも増えてきたという

Unity といえば、iPhone、Android、X-box、Play Stationなどのクロスプラットフォームで3Dゲームを量産しまくるツールであり、ゲームエンジンとして、事実上のデファクトスタンダードでした。

一度も触ったことがない人は、一時間くらい、チュートリアル画像に付き合って、何かを作ったことがないとカッコ悪いかもしれません。数多くのスマホ用ゲームがこれで作られていました。

個人的には、今出ているiOSとAndroidが両方動作するプラットフォームの安定性で一番クオリティが高いと思っています。文句を言っている人もいますが、一般的に知られている環境では安定性に関しては、一番良いんじゃないかと思っています。

最近はすさまじい勢いで、アセットと呼ばれるプラグインのようなものがどんどん作られ、最近は2D用の機能が増えてきました。特にNGUIとex2dというアセットは、ないと死ぬレベルになりつつあります。

つまり、UNITY Mobileを使っているのに3Dの機能を一切使わないで、スマホ用のカードバトルゲームを作るゲーム会社が増えてきました。かっこいいエフェクト満載のスマホのカードゲームで遊んでいると、もうWebベースのポチポチカードゲームが時代遅れになりつつあります。

つまり、Unityだから3Dという時代でもなくなってきました。

ただ、問題はUnityは無料で試せますが、ライセンス料が個人で買うにはちょっと高いので、貧乏サンデープログラマーには向きません。

Titanium >> iOSとAndroidで同時に作りたい人にオススメかも

ZaimがTitaniumで作られているということで、今後はゲーム以外のアプリ開発にも多用され始めるか

Titaniumと言えば、iOSとAndoroidのアプリをJavaScriptを使ってワンソースマルチプラットフォームで作れる開発環境として有名です。JavaScriptなのですが、HTML5やWebViewをベースにしていません。

いや、JavaScriptの文法を使っているだけで、実装はあらゆるものがネイティブです。出たばかりのころは、いまいち不安定だったり、料金体系がよく分からないとかで避けられていたのですが、今は基本的に無料になったり、IDEがクラウド環境と統合されていたり、MVCフレームワークができたり、やはりプロトタイプしか使えないと文句を言われてたりで、やっぱり楽だから最初のバージョンだけTitaniumで作るという人がいたりいなかったりな開発環境です。

良いところと悪いところが多過ぎて、押していいのかどうか分からないプラットフォームですが、さすがに一度もHello Worldしたことがない人は使ってみるべきかなと思います。

特に、僕にとっては、ZaimがTitaniumで作られていたことで非常に興味がわきました。Zaimのエンジニア募集ページを見ると、今後もTitaniumで作るのかどうかは知りませんが、少なくとも、小さいスタートアップ企業で、ゲームではないツール系やコミュニティ系のアプリで、ハードウエアをあんまり使わなくて、タイミングが問われなくて、AndroidとiOSの両方を同時に作りたい時には、参考にするべき一つの選択肢に見えます。

また、ユーザーの力ですさまじい勢いでプラグインが量産されているのも魅力です。広告を表示したり、課金をしたり、FacebookやTwitterにログインするプラグインも作られてきたので、制限は多いですが、普通に作るよりは明らかに手間の少ないプラットフォームであるといえます。

ただ、やはり万能ではないので、できることとできないことがあったり、HTML5よりはレスポンスは良いのですが、ネイティブにはかないません。また、Android版が微妙に不安定だったり、iOSにはあるけど、Androidにはないという機能があったりで、正直、欠点を挙げればキリがないのです。

しかし、Titanium3.0では徐々に解消されつつあるとの方向です。Write Once , Run Anywhereの夢を、僕らはいつでも見てしまうのです。

今年もいろんなことがありました。いろいろ思うことは多いのですが、無駄に歳を重ねていきたいと思います。

>> 村上福之氏の連載一覧はコチラ