Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

WPF、UWP、Xamarin……多くの開発者に活用される「XAML」技術のエキスパートが集結 ~「GrapeCity ECHO Tokyo 2017」開催

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2017/10/30 14:00

目次

Windows FormsアプリケーションのWPFへのマイグレーションを実施

 この日3つめのセッションでは、経費精算クラウドサービス「Concur Expense」やSalesforceの導入・保守サービスをはじめ、パッケージ製品や受託開発、コンサルティングなど、幅広いITサービスを提供するエス・ビー・エスの須藤隆一郎氏が講演を実施。もともとVisual Basic 6.0で開発され、その後.NET化されたWindows FormsベースのシステムについてのWPFへのマイグレーション事例を紹介した。

エス・ビー・エス株式会社 システム開発事業部 第一システム部 部長代理 須藤隆一郎氏
エス・ビー・エス株式会社 システム開発事業部 第一システム部 部長代理 須藤隆一郎氏

 今回、移行の対象となったのは、手書きの帳票をスキャンした結果画像を、OCRで処理して出力されたテキストに含まれる読み違い、例えば“1”と“7”、“l(エル)”と“I(アイ)”といった誤りを検査・訂正してデータベースに格納するアプリケーション。「お客様は、モニターのサイズに依存しないかたちでOCRの処理結果を表示したいというニーズにあわせ、Visual Basic時代に作り込んだスパゲティ状態のコードを新たなフレームワークへの移植により解消したいという要望もお持ちでした」と須藤氏は紹介する。

 これに対し、表示をめぐる課題に対してはWPF化を行ってViewBoxコントロールを用いるというアプローチを採用してXAMLによる開発を行うこととした。一方のコードの問題に関しては、MVVM(Model-View-ViewModel)アーキテクチャにより再構築するという方法をとることにした。

 具体的な開発プロジェクト構成としては、エス・ビー・エスが標準化チームとして、アプリケーション構成、およびイベント処理や入力チェック、例外処理などの方針、命名規約の策定に当たるとともに、共通処理や例外処理、入力支援の部品などの開発に当たった。また、これもエス・ビー・エスがアプリ開発チームとして実際の移行作業を担当。そのほか、WPFにかかわる技術支援などを行うマイクロソフトのサポートチームも参画してプロジェクトを進めた。

 「移行に当たっては、ビューモデルにはプロパティのみを持つかたちとし、バリデーションやワーカーサービスなどの処理を呼び出すところはコードビハインド側に出すという構成をとりました。こうした工夫により、数多くのボタンの実装によってビューモデルの処理が肥大化することを避け、保守性の向上を目指しました」と須藤氏は紹介する。

 実際の取り組みにおいては、Windows FormsとWPFの仕様の違いに起因するさまざまな問題に直面することになったが、プロジェクトに参画したマイクロソフトのサポートチームのアドバイスなども得ながら、ユーザーの要件を満たした移行を無事完了することができた。

他社に先駆けてXamarinを採用、クロスプラットフォーム開発を推進

 続く講演の壇上には、Webブラウザ「Sleipnir(スレイプニール)」をはじめ、各種スマートフォンアプリの開発・提供で知られるフェンリルの伊藤伸裕氏、太田川洋氏の2名が登場。セッションでは、「デザインと技術にこだわったソフトウェアの開発」を旨とする同社が、Xamarin、Xamarin.Formsの活用により取り組んだ、XAML、C#でのクロスプラットフォーム開発にかかわる紹介を行った。

フェンリル株式会社 アプリケーション共同開発部 チーフエンジニア 伊藤伸裕氏(左)、同 東京開発2課 エンジニア 太田川 洋氏(右)
フェンリル株式会社 アプリケーション共同開発部 チーフエンジニア 伊藤伸裕氏(左)、同 東京開発2課 エンジニア 太田川 洋氏(右)

 「当社では、Xamarinを2013年から国内の他の企業に先駆けて本格利用していたという経緯があり、また現在ではXamarin上での開発を経験しているエンジニアも10名以上を数え、日本で最もXamarinを活用している開発会社であると自負しています」と伊藤氏は胸を張る。

 同社がXamarinを採用した背景としては、顧客からiOS、Android上に同一のアプリを開発してほしいという依頼がかねてより多く寄せられていたことがあげられる。Xamarinを利用すれば、開発言語に使いやすいC#を利用して両プラットフォーム上のアプリを同時に開発することが可能となる。しかもXamarinではAPIなどもフルにカバーされており、特定のネイティブ機能が使えなくなるといったデメリットもなく、ネイティブ開発と遜色のないパフォーマンスが得られることも大きな魅力だった。

 「もっとも、C#とXAMLが使いこなせれば、即座にモバイルアプリの開発ができるというわけではありません。iOS、Androidのフレームワークにかかわる膨大な知識が必要で、XAMLのタグもWPFなどとは異なるといった問題もあります」と伊藤氏は語る。

 また同社があわせて利用しているXamarin.Formsでは、本来プラットフォームごとにバラバラであるUIの実装をXAMLによって共通化できる。「iOSやAndroidにとどまらず、Windows Phone 8.xやWindows RT、UWPといった幅広いプラットフォームに対応していることもその大きな魅力で、今後、macOSやLinux、WPF、Taizenなどのサポートが予定されている点にも大いに期待しています」と太田川氏は言う。

 同社ではこうしたXamarin.Formsの活用により、UI部分の実装が大幅に省力化でき、例えば通信周りやビジネスロジック等の開発に、より大きな労力と時間を投入できるようになっているほか、ベータ版リリースに関するスピード感もアップしているという。

 「Xamarin.Formsの活用については、“あまり頑張らない”のがベストプラクティス。UIフレームワークに依存しきったほうが楽で、逆に頑張りすぎるとコードが汚くなったり、バージョン依存が発生してしまう懸念もあります」と太田川氏は語る。

 当日最後のセッションでは、イベントの模様を振り返るラップアップが主催者であるグレープシティの手によって実施された。その中でグレープシティは、今回の「GrapeCity ECHO Tokyo 2017」でXAMLをテーマに据えた理由にも言及。そこにおいて同社では、長年マイクロソフトの基盤技術として使われ続け、今後に向けても適用形態を変えながら継続的にその活用が進んでいくXAMLの重要性を改めて強調し、イベントを締めくくった。



  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 丸谷 潔(マルタニ キヨシ)

     フリーランスライター。1963年生まれ。慶應義塾大学文学部卒。システム開発(メインフレーム、OS/2等)、IT関連雑誌・書籍の編集を経て現職。執筆領域はIT系全般、FA系など。

バックナンバー

連載:「GrapeCity ECHO Tokyo」レポート
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5