(Photo by:Alper Çuğun)
このような方におススメ
- 新しく使われるようになったプログラミング言語を知りたい
- アプリ開発のプログラミング言語も興味がある
iOS・Androidアプリ、ウェブアプリケーションとそのバックエンドで利用されるプログラミング言語を、今年の動向を含めて目的別に紹介して行きます。
ウェブアプリケーション開発(従来系)
言語名 | メジャーなフレームワーク名 | フレークワークURL |
---|---|---|
Java | Java EE | oracle.com |
C# | ASP.NET MVC | asp.net |
Java | Java EE | oracle.com |
PHP | Symfony | symfony.com |
Ruby | Ruby on Rails | rubyonrails.org |
Python | Django | djangoproject.com |
Perl | Catalyst | catalystframework.org |
新しくウェブサイトを作る際には、まずこれら言語とフレームワークの検討から始まる方が多いと思います。たまに大きくアップデートしてユーザーが離れてしまう言語やフレームワークもありますが、多くの言語では安定したアップデートが繰り返され堅実に成長を続けています。
Javaは主流がStrutsからJ2EE、Java EEと切り替わりました。他言語ではRuby On RailsとSinatra/Cubaのように主流となる多機能フレームワークと、最小限の機能を備えたマイクロフレームワークの両方が用途に合わせて利用されています。
ウェブアプリケーション開発(新興系)
言語名 | メジャーなフレームワーク名 | フレークワークURL |
---|---|---|
Elixir | Phoenix Framework | phoenixframework.org |
Scala | Play Framework | playframework.com |
Go | Revel | github.io |
JavaScript | Node.js | nodejs.org |
Dart | angular.dart | github.com |
新しく作るサービスのパフォーマンスが重視される場合の選択肢として、今話題になっているElixirやScala、Goが採用されるケースが登場してきました。言語とフレームワークともに新しいため不自由さが伴いますが、同時に新鮮な経験が得られます。
(Photo by: Michael Himbeault)
サーバーサイドに特化した言語(Elixir、Scala、Go)とクライアントサイドとサーバーサイド両方を同じ言語でプログラミング出来る言語(JavaScript、Dart)で言語の毛色が違ってきます。
マークアップ言語
CSSの動的生成を行うSaSS/LESSが規模の大きいプロジェクトやサイトで人気です。ブラウザのウェブページレンダリングはHTMLとCSSで行われるため、HTML/CSSの出力に至るまでの中間プロセスを効率的にプログラミング出来るフレームワークやライブラリが充実しつつあります。
SVGはd3.jsなどチャートライブラリで多く使われるようになってきました。SVGと対になるのがHTML5のCanvasです。両方ともに描画が重たくなりがちなのが欠点ですが、広く利用されるようになってきました。※SVGは直接プログラミングするものではありません。
(Photo by:Serge Kij)
iOS/Androidアプリ開発
- Objective-C (iOS)
- Swift (iOS)
- Java (Android)
- C/C++ (Android)
つい先日Swift2のオープンソース化が発表されました。これによってLinuxやWindows環境でもiOS向けアプリ開発が出来るようになることが期待されます。もしかするとアプリとサーバーサイドの両方をSwift2でプログラミングできるようになるかも知れません。
Android開発では昨年末にGoogleからAndroid Studioが正式にリリースされEclipseからの移行が徐々に進みつつあります。
ゲーム開発ではWindows/iOS/Androidとクロスプラットフォーム対応の開発環境の利用も多いため、プログラミング言語のアップデートに合わせてUnityなどのマルチプラットフォーム開発環境のアップデートにも追従する事が求められます。
科学計算/数値計算/数式処理(従来系)
商用プロダクトとその代替えとなるオープンソースの両方が成り立っている中で、汎用言語のPython/Cも広く使われています。各言語でのビックデータ解析向けのライブラリも多く存在し、その中でも特にPythonのライブラリが幅広く充実している印象です。
科学計算/数値計算/数式処理(新興系)
データマイニングやデータ解析ブームが起こった頃から統計に強いR言語が継続して人気です。去年ぐらいからJuliaが速いと話題になり始めています。今ブームになっているビックデータと機械学習で強く求められる技術領域のため、特定用途に特化した新しい言語の登場が楽しみです。
(Photo by:Blake Patterson)
要約・まとめ
各アプリとそのバックエンドで利用される言語を今年の動向を合わせて紹介しました。フロントエンド開発で利用される言語とフレームワークの動きが特に速い印象です。開発速度についてあまり話題になることがあまり無く、実際に動作するアプリケーション速度について取り上げられる事が増えてきました。
プログラミング言語とその開発環境、フレームワーク・ライブラリ群が充実してきたため、どの言語やフレームワークでも開発をある程度スムーズに進められるようになった結果、開発速度よりも動作速度に注力されるようになったのかも知れません。
10年前には今主流になっているPythonやRubyはまだマイナーで、ScalaはGoやDartのようにまだ出始めの状態でしたので、生まれたばかりでこれから成長するプログラミング言語のこれからどのように利用されていくのか楽しみになります。
本ブログは、Git / Subversionのクラウド型ホスティングサービス「tracpath(トラックパス)」を提供している株式会社オープングルーヴが運営しています。
エンタープライズ向け Git / Subversion 導入や DevOps による開発の効率化を検討している法人様必見!
「tracpath(トラックパス)」は、企業内の情報システム部門や、ソフトウェア開発・アプリケーション開発チームに対して、開発の効率化を支援し、品質向上を実現します。
さらに、システム運用の効率化・自動化支援サービスも提供しています。
”つくる情熱を支えるサービス”を提供し、まるで専属のインフラエンジニアのように、あなたのチームを支えていきます。
No Comments