本連載では、iPhone、Android、Windows Phoneなど、さまざまなスマートフォンのプラットフォームに対応するために、各スマホプラットフォーム同士のアプリ移植はもちろん、HTML(HTML5含む)+JavaScriptのWebアプリからのネイティブアプリ変換、Adobe AIR/Flash、デスクトップPC向けアプリからの移植テクなども紹介します
今回はかなり唐突な感じになりますが、Visual Basic 6.0にフォーカスして、Visual Basic 6.0を利用している技術者の方がWindows Phoneアプリを開発したらというような仮定で話を進めていきたいと思います。
そもそも筆者はVisual Basic(以後、「VB」)が書けません。主にC#、Java、ActionScriptを書いています。特にVB6に関しては実案件での経験がなく、移植テクといったものは紹介できません。そういった状況の筆者ではありますが、Windows Phone含めたスマートフォン開発、Silverlight、WPFなどの開発に関してはある程度経験があるので、そういった開発者から見たVB6の特徴やWindows Phoneアプリを開発してみたいと思った際のポイントなどを紹介できればと思っています。
※連載第1回の「.NET未経験でもWindows Phone開発するための基礎」は、もちろんVB6ユーザーには有用かと思われますので、参照してみてください。
いったいVB6とは何ぞやということで少し調べてみたり、周りの「過去バリバリVB6で開発していたVB6プロの方」に話を聞いたりしました。
VB6アプリをメンテナンスする案件は、まだまだあります。最近開催したRIAのセミナーでも受講者の方の中にVB6専業の方がいました(20代前半くらいの若い方だった記憶があります)PCデスクトップ向けのゲームやTwitterクライアントなどではなく、「社内業務アプリ」に限ればVB6はまだまだ現役なのです。
2009年2月26日のInfoQの記事です。英国では調査対象企業の9割がVB6を使っているという数字が出ています。この数字は2011年12月の今現在では少なくなっていると思いますが、突然1割といった数字に激減していることは考えにくく、日本のVB6の状況も「かなり多い」数字なのではないかなと思います。
2009年8月25日のPublickeyの記事です。VB6そのものや、VB6の開発ツールに関しては、サポートが2008年4月8日で全て終了しているが、ランタイムに関してはWindows 7にも同梱されているという内容です。この記事でも先のInfoQの記事同様に英国でのVB6に関する利用状況の調査結果が参照されています。
上記2記事で参照されてる統計情報のページです。VB6の利用形態の統計では、小さいユーティリティアプリ、少人数が利用するアプリ、クライアントサーバ型アプリが多くを占めています。個人や少人数が利用する小規模の業務アプリを作るシーンでは、ExcelやAccess(のVBA)同様VB6はまだまだ現役なのかもしれません。
今年のDeveloper Summit 2011でグレープシティの八巻氏が発表したスライドです。この中でグレープシティの(有償コンポーネント)製品の利用者の技術割合を示したスライドがあります。
VB6に代わるべく登場した「Windowsフォーム」も登場してからかなりの時間が経ちますが、WPFやSilverlightのみならず、(ASP.NETベースの)Webアプリよりも利用している開発者がはるかに多いことが分かります。「コンポーネントを利用して高機能なアプリを開発しよう」という傾向の開発者さんであっても、なかなかWPFやSilverlightなどの最新技術への移行がなかなかうまくいっていない状況がうかがえます。
むしろ、.NETが登場して10年近く経ってやっと.NET初期に登場していた技術(Windowsフォーム)が定着してきたという状況を表しているのかもしれません。
その他、2006年の@IT記事です。
VB6、移行というキーワードで調べていると、VB6からVB.NETへの移行の記事が目に留まります。Visual Basic.NETが登場したのが2002年。登場から4年経っても、なかなか移行作業に苦労してる方が多い状況が目に浮かびます。
これら記事によく出てくる「新しく作った方が早い」という言葉は実際にそうであると感じています。レガシーなシステムを新しいシステムに置き換える案件の場合、画面や機能をそのままに新しい技術に移植するのではなく、「あらためて業務を分析しつつ、新しい技術/クライアントプラットフォームの文法にのっとった画面に新規に作り直す」というケースが筆者の所属する会社のプロジェクトでは多いです。
VB6からWindows Phoneまでのアプリ開発のスタイルをWebアプリ(ASP.NET)を除くと以下のようになります。
VB6→Windowsフォーム→WPF
→Silverlight for Windows Phone→MetroStyleApp(Windows 8)
もし、途中のWindowsフォームとWPFの経験がないとすると、非常に多くの技術項目を学習する必要があります。
まず、基本的な部分になりますが、現在のデスクトップ、Web、スマートフォン開発技術は、ほぼ全てオブジェクト指向での開発です。OOP(オブジェクト指向開発)の経験がない場合は、まずOOPの学習を優先させた方が、後々の技術の内容の習得が格段に楽になると思います(参考:連載 オブジェクト指向プログラミング超入門 — .NETでオブジェクト指向プログラミングを始めよう — 第1回 オブジェクトの正体 - @IT)。
次に、言語ですが、VB派の方はWindows Phone開発ではもちろんVBを使うと思います。そのVBも最新のVisual Basic 2010ではオブジェクト指向言語のC#の要素をより多く取り入れたものに生まれ変わっているため、言語の習得に関してもオブジェクト指向の習得を行った方がいいでしょう(特集:VB 10概説 Visual Basic 2010の新機能 - @IT)。
ただ、あまり「VB6からVB.NETへの移行」のような記事や書籍を読むよりは、あらためて新しいVisual Basicを学ぶ意気込みで学習していく方がいいと思います。旧来のスタイルの発想を新しい技術に持ち込むと、ほとんどうまくいかないので、VB6と今のVisual Basicは別物と考えましょう。
いよいよ次ページでは移行のポイントをまとめます。
Copyright © ITmedia, Inc. All Rights Reserved.