VersaWorks 7開発ストーリー 第二部PROJECT STORY 02

第二部

MacOSへの対応と、技術資産の継承。
双方を実現した“3階建て”の開発
こうしてプロジェクトが承認され、正式に「VersaWorks 7」開発プロジェクトが始動した。従来のソースコードを抜本的に見直し、MacOSという未知の領域に踏み込むのは、まさに「ゼロからの挑戦」だった。

T.K.まず最初に議論したのは、MacとWindowsで同じUIを保つにはどうするか。その手法の検討です。

ソースコードを刷新すると言っても、現実的にはこれまで築き上げてきたコードを全て書き直すことは不可能だ。またプリンターを動かす「RIP制御部」は、磨き上げてきた従来のソフトウェアを活用したいという側面もある。

T.K.そこで、コアとなるRIP制御部と新しいUI部の間にミドルウェア層「RIP-Bridge」を設け、処理を橋渡しするという“3階建て構造”を採用したのです。

つまり、ユーザーによって使用環境が異なるUI部はWindowsとMac双方に対応し、受け取ったデータをRIP-Bridgeが “翻訳”してRIPに受け渡すことで、RIP自体は従来のソースコードを引き継ぐことができる、という仕組みである。

T.K.こうすることで、なるべくコア部分に手を入れずにすむため、ローランド ディー.ジー.のRIPソフトウェアの資産 を最大限に引き継ぎながら、開発期間を短縮できます。ただ、UI部 についてはソースコードを全て書き直す必要があるので、当社では初めての試みとなるクロスプラットフォームに対応したフレームワークの導入を決断しました。

同一ソースでWindowsとMac双方に対応できるこの新しいフレームワークは未知の技術だったが、開発チームはむしろそれを前向きに受け止めた。勉強会を開き、互いに知見を共有しながら手探りで進めていく日々。
新フレームワークで動くUIと、C++で書かれた既存のコア処理をつなぐRIP-Bridgeの開発は、Y.N.とK.K.が中心になって担った。

Y.N.以前のVersaWorks6では、アプリが増えるに従ってUIが煩雑になり、操作メニューとコアの処理に関わる部分が同じ画面に表示されるなど、やや洗練さに欠けた状態になってしまっていました。今回RIP-Bridgeを導入したことで、UIを共通のプログラムで動かすことができるだけでなく、例えばプレビューの描画処理のようにMac対応がかなり難しい部分でも、RIP-Bridgeを介することで比較的容易に実現できるようになりました。

クロスプラットフォームという新しい技術を学びながらの開発には時間と手間がかかったが、UI部と制御部の間にミドルウェア層を設けるという設計思想は 、このようにプロジェクト全体にとって大きな意義があった。Y.N.とRIP-Bridgeの設計を担当し、インストーラーの仕組みやバージョンアップ時の導線設計など、ユーザーにとっての入口部分を支えたK.K.は、その挑戦を楽しかったと語る。

K.K.当初は継続利用できる資産もたくさんあるので比較的楽観視していたのですが、初めてのMac環境での開発で壁に当たることも多くて、後半になるにつれてそれが間違っていたことを思い知らされました(笑)。ただ、そうした困難に直面しつつも、新しい開発環境に取り組むこと自体はとても刺激的で、ワクワク感も大きかったですね。クロスプラットフォームでUI部を構築するという新たな試みにチーム全体でチャレンジしていく過程は、個人的にも非常に貴重な経験になりました。

そして、プロジェクトには新しいメンバーも加わっていた。
新卒入社1年目でこの大規模プロジェクトに加わったT.H.は、Mac対応に必要なC++標準化作業や、開発中に発見されたバグ修正などのタスクを担うこととなった。

T.H.VersaWorks自体のこともまだ分からない状態で、いきなり最新版の開発ということで、当初は期待よりは不安が勝った状態でした。Macも学生時代含めてほとんど触ったこともなかったので、本当に初めてづくしだったんです。でも、先輩たちが残してくれていたドキュメントやアドバイスに支えられて、何とか食らいついていくことができました。

さらにもう一人の新戦力が、開発中盤にチーム入りしたW.Y.だ。ソフトウェア開発の経験は豊富だったが、中途入社の彼にとっては、VersaWorksや大型プリンターといった製品分野、そしてローランド ディー.ジー.の開発環境も、全てが新しい領域だった。

W.Y.私がプロジェクトに合流した時点では、開発は終盤に差し掛かっていました。ですので、クロスプラットフォームの導入など“新しいことをやってるなあ”という印象を受けた後は、とにかく触って、調べて、聞いて、ガムシャラに仕事を覚えていったという感じでしたね。当時は未知のことだらけでしたが、先輩方が“これをやってくれれば大丈夫”と一つずつ的確に指示してくれたのがありがたかったです。

開発期間が短い中で、次々と技術的な壁が立ちはだかる。だが、誰一人として歩みを止めることはなかった。むしろ、新しい技術との出会いをポジティブに捉え、楽しみながら開発を進めていった。

T.K.技術者って、新しい言語や環境に触れるとやっぱり心躍るものがあるんですよね。クロスプラットフォーム対応のUIフレームワーク も初めてでしたけど、書き心地がよくて、意外とすんなりなじめました。

K.K.お互いに“こんなのあったよ”と情報交換をしながら、手を動かす日々でした。忙しさはありましたが、開発部内にはすごくいい空気感があったと思います。