2011年の技術動向を以前書きました。


それに追加する情報が ここ に書いてありましたので、簡単にまとめてみました。


2010年のタイトルは「Recovery and Transformation」(回復と変革)で、


 (1)新興国市場の拡大
 (2)クラウドコンピューティングの進展
 (3)モバイルデバイスとアプリケーションの普及
 (4)ネットワーク高速化


が進んでいった結果、現在、


 (1)クラウドサービス
 (2)モバイルデバイスとアプリケーション
 (3)ソーシャルネットワーキング


が市場に浸透して成熟期を迎えている


2011年は、上記が融合した破壊的テクノロジーが市場に広がっていく

予測されているようだ。
ちなみに、2011年のタイトルは「Welcome to New Mainstream」

(ようこそ新潮流)です。


破壊的テクノロジーとして融合する技術は、


 ・クラウド分野
 ・モバイルコンピューティング
 ・ソーシャルネットワーキング
 ・大容量データ


などの技術を融合し、今後、市場を制覇していくことになるだろう。



【破壊的テクノロジーとは】

 破壊的技術(はかいてきぎじゅつ、英: disruptive technology)とは、
従来の価値基準のもとではむしろ性能を低下させるが、新しい価値基準の
下では従来製品よりも優れた特長を持つ新技術のことである。
また、破壊的技術がもたらす変化を破壊的イノベーションという。


※「破壊的技術 参照」


プログラム言語の人気ランキングです。


人気があるということは、それだけ現在または今後の需要も高いということです。

勉強する言語で悩んでいるなら、参考にするとよいのではないだろうか。


このランキングは、TIOBE Programming Community Index for May 2011

で載っているものです。


このサイトでは、複数の検索エンジンの検索結果から対象とする

プログラミング言語がどれだけ話題になっているかをインデックス化したものを

ランキング形式にしています。


■人気プログラミング言語ランキング(一年前とのランキング比較)

順位
2011年5月
順位
2010年5月
順位の変動 プログラミング言語 支持率
2011年5月
1 2 Java 18.160%
2 1 C 16.170%
3 3 C++ 9.146%
4 6 ↑↑ C# 7.539%
5 4 PHP 6.508%
6 10 ↑↑↑↑ Objective-C 5.010%
7 7 Python 4.583%
8 5 ↓↓↓ (Visual) Basic 4.496%
9 8 Perl 2.231%
10 11 Ruby 1.421%
11 12 JavaScript 1.394%
12 20 ↑↑↑↑↑↑↑↑ Lua 1.102%
13 9 ↓↓↓↓ Delphi 1.073%
14 14 アセンブリ言語 1.042%
15 16 Lisp 0.953%
16 23 ↑↑↑↑↑↑↑ Ada 0.747%
17 15 ↓↓ Pascal 0.709%
18 21 ↑↑↑ Transact-SQL 0.697%
19 19 Scheme 0.580%
20 25 ↑↑↑↑↑ RPG (OS/400) 0.503%

JAVAはなんと連続9ヶ月一位ですキラキラ


JAVAが連続で一位になっているのは、今年の流行になるだろうといわれている

Androidによって、急速に需要が高まっていることが、大きな要因です。

これは、JAVAやAndroidの勉強を避けて通るのは難しそうですね。

ひとつのソースコードでiPhoneやiPad、Androidの開発が一緒にできるものが

あります。それが、Titanium Mobile です。


Titanium Mobileとは、Appcelerator社によるスマートフォン対応アプリケーションの

開発環境です。

iPhoneやiPad、Androidを対象とした開発が可能で、ひとつのソースコードで

マルチプラットフォーム展開をすることができます。


開発に使う言語はWebアプリケーション開発のJavaScriptです。

プラットフォーム別にObjective-CやJavaを覚える必要はありません。

JavaScriptを使うからWebアプリケーションになるかというと、

そんなことはありません。

JavaScriptを使ってネイティブアプリケーションの開発ができます。


具体的には、次のような処理を実装することができます。


 ・加速度センサや電子コンパスなどのハードウェアへアクセス
 ・音声や動画の再生・録画・録音
 ・HTTPClientによる通信
 ・SQLiteによるデータベース処理


しかも、これだけできてオープンソースソフトウェアです。

商用・非商用を問わずに無料で利用可能です。

一時期、iPhoneアプリはObjective-Cで開発したものじゃないと駄目だ、という話が

ありましが、今は解決済みみたいです。


開発環境のOSはWindows、Mac、Linuxどれでも大丈夫です。

ですがiPhoneもAndroidもSDKのインストールが必須なことから、iPhone開発を

したい場合にはMac限定になります。


■参考サイト

 ・0から始めるTitanium Mobile 第1回 Windows開発環境(Android) の構築

 ・Web技術でネイティブアプリを作れるTitanium

 ・リンク集


クラウドサービスがどのようなものがあるかを簡単に調べてみた。

国内では下記のようなサービスがある。


クラウドコンピューティング サービス比較・費用比較

提供企業 ニフティ GMOインターネット IIJ ソフトバンク
サービス名称 ニフティクラウド GMOアプリクラウド IIJ GIO ホワイトクラウド
初期費用
無料

無料

無料

無料
従量課金 ○(時間単位)
12.6円/時~
※停止時5.25円/時~
△(日額)
399円/日~
△(日額)
133円/日~
△(月額)
4,725円/月~
仮想サーバー追加
5分

最短10分
不明 ×
数分~数10分
基本監視
無料キャンペーン中
×
無料

有料
詳細説明 ニフティクラウド GMOクラウド IIJ GIO ホワイトクラウド


他にもクラウドサービスがありますので、興味があればここ を見てみてください。
ちょっとわかりにくいという方は、ここ がお勧めです。


低価格で色々なクラウドサービスが提供され、クラウド技術は成熟し、

安定化してきているが課金方式に問題にあります。

クラウドサービスは、3つの方式を組み合わせた課金モデルになっています。
クラウドサービスも使い放題の時代?~定額制も選べるAzureの料金体系 参照)


1.コンピューティングの課金方式
 使用実績に応じて利用料を支払う(pay-as-you-go)従量制課金制。
 例えば、1時間コンピューターを使用した場合、1時間の利用料金がかかる。

2.ストレージの課金方式
 容量につき月額料金や件数に応じて料金が決まる。
 トランザクション件数やアップロード/ダウンロードごとに追加料金がかかる。

3.ネットワーク帯域への課金方式
 通信量によって料金が決まる。
 通信することにより料金が追加される。


これらモデルはベンダーによって課金制度が異なるため、料金比較が

難しくなっています。

例えばクラウドサービスを利用してデータを保管する場合、

1GBの容量につき月額料金が設定されています。
他にもストレージを利用する場合、件数に応じて月額料金が

設定されています。


ストレージの課金は月単位で計算されます。

1ヶ月の中でたった1日だけ使ったとしても、ほんの1時間程度だけ

しか使わなかったとしても、1ヶ月分使ったのと同じ料金が請求されます。
利用料金の最低単位が1ヶ月分なのです。

この場合データ保管をした容量の計算方法は1ヶ月分の平均値となります。


例えば1ヶ月ずっと1GBを使った場合、当然1GB分の料金を支払いますが、

30GBを1日だけつかって後は使わなかった場合これも同じく1GB分の料金を

支払うことになります。

トランザクションについても件数で計算されるのは妥当だと思います。

一般に倉庫を借りて荷物を預ける場合、その荷物の量で計算されるのが

当たり前だと思うからです。


このようにしてクラウドサービスの課金方式が決められているのです。

課金システムについては、今後標準化を進めていこうとしているみたいです。
クラウドの市場の現状...サービス - 課金システムの標準化急務 参照)

また、クラウドサービスとしてSaaSを利用する際に、同じような機能の

SaaSである場合、値段ではなく、使い易さなど料金以外も重要となるため、

料金だけでは決めにくくなります。

しかも、そのSaaSはベンダーに依存するため、別のベンダーに移ることも

難しくなることもあります。


Android のUIにもデザインパターンが登場しました。


Android Patterns では、Android の UI に関するデザインパターンを集めている。


 ・データをどう見せるべきか

 ・入力フォームをどう作るべきか

 ・通知はどうあるべきか


などが画面とともに紹介されている。


ノウハウもまだ少ない中、ユーザーを迷わせないためのパターンは、

抑えておく必要があるだろう。



■Android UI デザインパターン (Android Patterns 参照)
worksteadilyのブログ-Android_Patterns