Expense」やSalesforceの導入・保守サービスをはじめ、パッケージ製品や受託開発、コンサルティングなど、幅広いITサービスを提供するエス・ビー・エスの須藤隆一郎氏が講演を実施。FormsベースのシステムについてのWPFへのマイグレーション事例を紹介した。対象となったのは、手書きの帳票をスキャンした結果画像を、OCRで処理して出力されたテキストに含まれる読み違い、例えば“1”と“7”、“l(エル)”と“I(アイ)”といった誤りを検査・訂正してデータベースに格納するアプリケーション。Basic時代に作り込んだスパゲティ状態のコードを新たなフレームワークへの移植により解消したいという要望もお持ちでした」と須藤氏は紹介する。これに対し、表示をめぐる課題に対してはWPF化を行ってViewBoxコントロールを用いるというアプローチを採用してXAMLによる開発を行うこととした。一方のコードの問題に関しては、MVVM(Model-View-ViewModel)アーキテクチャにより再構築するという方法をとることにした。部品などの開発に当たった。これもエス・ビー・エスがアプリ開発チームとして実際の移行作業を担当。そのほか、WPFにかかわる技術支援などを行うマイクロソフトのサポートチームも参画してプロジェクトを進めた。「移行に当たっては、ビューモデルにはプロパティのみを持つかたちとし、バリデーションやワーカーサービスなどの処理を呼び出すところはコードビハインド側に出すという構成をとりました。した工夫により、数多くのボタンの実装によってビューモデルの処理が肥大化することを避け、保守性の向上を目指しました」と須藤氏は紹介する。FormsとWPFの仕様の違いに起因するさまざまな問題に直面することになったが、プロジェクトに参画したマイクロソフトのサポートチームのアドバイスなども得ながら、ユーザーの要件を満たした移行を無事完了することができた。セッションでは、「デザインと技術にこだわったソフトウェアの開発」を旨とする同社が、Xamarin、Xamarin.Formsの活用により取り組んだ、XAML、C#でのクロスプラットフォーム開発にかかわる紹介を行った。洋氏(右)「当社では、Xamarinを2013年から国内の他の企業に先駆けて本格利用していたという経緯があり、また現在ではXamarin上での開発を経験しているエンジニアも10名以上を数え、日本で最もXamarinを活用している開発会社であると自負しています」と伊藤氏は胸を張る。同社がXamarinを採用した背景としては、顧客からiOS、Android上に同一のアプリを開発してほしいという依頼がかねてより多く寄せられていたことがあげられる。Xamarinを利用すれば、開発言語に使いやすいC#を利用して両プラットフォーム上のアプリを同時に開発することが可能となる。XamarinではAPIなどもフルにカバーされており、特定のネイティブ機能が使えなくなるといったデメリットもなく、ネイティブ開発と遜色のないパフォーマンスが得られることも大きな魅力だった。「もっとも、C#とXAMLが使いこなせれば、即座にモバイルアプリの開発ができるというわけではありません。iOS、Androidのフレームワークにかかわる膨大な知識が必要で、XAMLのタグもWPFなどとは異なるといった問題もあります」と伊藤氏は語る。同社があわせて利用しているXamarin.Formsでは、本来プラットフォームごとにバラバラであるUIの実装をXAMLによって共通化できる。RT、UWPといった幅広いプラットフォームに対応していることもその大きな魅力で、今後、macOSやLinux、WPF、Taizenなどのサポートが予定されている点にも大いに期待しています」と太田川氏は言う。同社ではこうしたXamarin.Formsの活用により、UI部分の実装が大幅に省力化でき、例えば通信周りやビジネスロジック等の開発に、より大きな労力と時間を投入できるようになっているほか、ベータ版リリースに関するスピード感もアップしているという。「Xamarin.Formsの活用については、“あまり頑張らない”のがベストプラクティス。UIフレームワークに依存しきったほうが楽で、逆に頑張りすぎるとコードが汚くなったり、バージョン依存が発生してしまう懸念もあります」と太田川氏は語る。当日最後のセッションでは、イベントの模様を振り返るラップアップが主催者であるグレープシティの手によって実施された。2017」でXAMLをテーマに据えた理由にも言及。そこにおいて同社では、長年マイクロソフトの基盤技術として使われ続け、今後に向けても適用形態を変えながら継続的にその活用が進んでいくXAMLの重要性を改めて強調し、イベントを締めくくった。<12連載通知を行うには会員登録(無料)が必要です。会員の方はログインを行ってください。キヨシ)フリーランスライター。システム開発(メインフレーム、OS/2等)、IT関連雑誌・書籍の編集を経て現職。執筆領域はIT系全般、FA系など。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。【NEW】デブスト2019デブサミ2019福岡・関西デブサミ2019夏デブスト関西デブサミ2019×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。