先日 ThoughtWorks社 から最新の技術動向をまとめた Technology Radar の2015年1月版が発表されました。
このTechnology Radarですが毎回、『技術』『ツール』『プラットフォーム』『言語・フレームワーク』と4つの領域に分けて紹介しており、絶賛流行中もしくは今後注目されるテクノロジーなどが紹介されています。
今回はそんな『言語・フレームワーク』の領域から厳選した11の注目テクノロジーを紹介します。
はじめに
各テクノロジーは『Adopt』『Trial』『Assess』『Hold』という4つの階級のどれかに属しており、各階級は以下の意味を持っております。
・【Adopt】企業での使用が推奨されるレベル
・【Trial】使用する価値はあるが、低リスクのプロジェクトで使用すべきレベル
・【Assess】使用する価値があるか、使用方法やポテンシャルを検証すべきレベル
・【Hold】先行きがわからないので取り扱いには注意すべきレベル
以下、多くの素晴らしいテクノロジーが登場していますが階級の意味はあくまでも参考程度に考えたほうが良さそうです。
Adopt
1. Go language
まず最初は言わずと知れた「Go」。
VASILYのエンジニアでも個人プロジェクトで使用している人も多く、まさしく今一番流行っているプログラミング言語だと個人的にも感じています。
国内スタートアップでも導入実績が増えており、先日開催された dots. Summit でメルカリやGunosyで使用しているという話がありました。
2. Java 8
続いては「Java 8」。
ラムダ式 や Stream API など強力な機能追加で話題のJava最新バージョン。
残念ながらAndroid開発に関して現時点ではJava 8を使うことはできませんが、Java 8の新機能は今後Android開発者を含むすべてのJavaプログラマーが必須の知識になってくると思うので今から抑えておくと良いと思います。
*現時点のAndroid開発でも「Retrolambda」と「RxJava」を持ち込めばJava 8っぽく記述することができます
Trial
3. AngularJS
Googleとオープンソースコミュニティによって開発されているJavaScriptの有名なフレームワークである「AngularJS」。
ちょっと前までは至るところで名前を聞きましたが最近は少し React.js に押され気味だと個人的に感じています。JS界隈はホントに動きが激しい。
少々取り上げるか悩んだのですが、現在 v2.0 が開発中らしいので今後盛り返しにちょっとだけ期待です。
ちなみに弊社開発アプリの iQON において裏の運用ツールの一部に使用しています。
4. Dashing
イケてるダッシュボードが簡単に作れるRubyのフレームワーク「Dashing」。
このサンプルみたいなダッシュボードが、Ruby, HTML, Sass, CoffeeScriptを少し書くだけで作れてしまいます。
Ruby 1.9以上が入っているマシンで以下の数行を書くだけで始められるので、チーム内でのKPIの共有などに活用してみると面白いと思います。
$ gem install dashing
$ dashing new sweet_dashboard_project
$ cd sweet_dashboard_project
$ bundle
$ dashing start
# localhost:3030 にアクセス
5. Django REST
Pythonの有名なフレームワークである Django をベースとしているRESTfulなAPIを開発するに適しているフレームワーク「Django REST framework」。
昨年末に大きな変更を加えた v3.0 がリリースになりましたが、多くの機能が追加されているため興味がある方はリリースノートを読んでみてください。
PythonでAPI開発を行う場合に候補に入れてみてはいかがでしょうか。
6. Ionic framework
HTML5でハイブリッドなモバイルアプリが作れるフレームワーク「Ionic framework」。
このフレームワークは Apache Cordove をベースに AngularJS と Sass が標準で使えるように構成されています。
テンプレートが用意されているため、自動でコードが展開されすぐにビルドすることができます。
HTML5でクロスプラットフォームを意識したアプリが作りたい方は導入してみてはいかがでしょうか。
7. Retrofit
AndroidとJavaのRESTクライアントライブラリとして有名な「Retrofit」。
開発は、Android界隈の神JakeWharton氏が在籍するSquare社。
非常に使い勝手が良いライブラリなので導入している会社はちらほらあるんじゃないかと思います。
ちなみにiQONのAndroid版においては Retrofit は使っていませんが『Otto』や『Butter Knife』などは使っています(この辺はまた別の機会にご紹介します)。
Assess
8. Lotus
この1年で突如現れたRubyの最新フレームワーク「Lotus」。
Githubを見てみると非常に面白いんですが、モジュールがすべて入ったフルスタックなプロジェクトもある一方、フレームワークをモジュールごとに分けたプロジェクトも存在しています。
このコードをある単位で分割が容易に行うことができる点がLotusの特徴になっています。
Sinatraみたいな軽量なアプリを作ることができ、かつRailsみたいなフルスタックなアプリも作ることができる柔軟なフレームワークになっています。
9. React.js
最近話題のFacebook製JavaScriptライブラリ「React.js」。
ざっくり言うとMVCでいうViewの部分をコンポーネント化して開発できると言ったUI周りに特化したライブラリになります。
この1年で急に盛り上がってきたと感じているんですが Facebook, Instagram はもちろんのこと Netflix, Yahoo, Airbnb, Atlassian などでも使われているそうです。
React.jsの一番の特徴は 仮想なDOM をJavaScript内に持っていることです。これにより従来の実際のDOMをこねくり回してた状態と比べ、必要最低限の更新のみで済むのでパフォーマンス改善に繋がるわけです。
他にもデータを子に渡していくという一方向なデータの流れのためコードも追いやすいという利点があったり、JSXが使用できたりといろんな特徴なあるライブラリです。
10. Rust
Mozillaによって開発中のプログラミング言語「Rust」。
1月に 1.0.0 Alpha がリリースされ、来週には beta 1 がリリース予定になってたりと、そろそろ正式版がリリースされそうなこのタイミング。せっかくなのでRust触ってみてはいかがでしょうか。
Rust本体と、RustのパッケージマネージャであるCargoを入れて、このイントロダクションに沿って行けばRustの入り口を学ぶことができます。
言語としては、純粋関数型、手続き型、オブジェクト指向をサポートしている高機能な言語になっています。
11. Swift
昨年、突如として現れたiOS、OS Xのための新言語「Swift」。
つい先日も最新バージョンである Swift 1.2 が発表され盛り上がりを見せていますが、iPhoneアプリの開発者は今後絶対に抑えておかないといけない言語であることは間違いないです。
2つ前のエントリーでも紹介しましたが、まだ弊社も iQON には投入できていないものの新しいプロジェクトでは既に使い始めております。
以下のエントリーをまだ読まれていない方はぜひとも読んでみてください。
Swiftで会社の受付アプリを作った話とCADisplayLink
まとめ
流行中のテクノロジーをいくつか取り上げましたが、最近はホントに流行り廃りが早いため来年にはいくつか消えているんじゃないかと思います(既になくなりつつあるものもありますが)。
そんな中ではありますが自分が好きだと思えるプロダクトを見つけて愛していくのはエンジニア冥利に尽きると思います。
今回いろいろと調べている際に、最近触っていない言語が気がついたらいろいろと進んでいてショックを受けたので定期的にいろんな言語に触れないとダメだと感じました。
VASILYに遊びに来ませんか?
今回のエントリーに言及したい方、最新テクノロジーが好きな方はぜひ一度VASILYに遊びに来ませんか?
info[at]vasily.jp や @yoichinishimura などで気軽に連絡いただければと思います。
またVASILYではエンジニアを大大大募集しておりますので応募お待ちしております。
https://www.wantedly.com/projects/7595