「勉強会に行ってみた!」 第36回【 ヒカ☆ラボ 】『HOME'S』の開発の裏側!! インフラ~フロントエンド~ネイティブアプリの開発まで。
event

「勉強会に行ってみた!」
第36回【 ヒカ☆ラボ 】『HOME'S』の開発の裏側!!
インフラ~フロントエンド~ネイティブアプリの開発まで。

2016.09.13

2016年8月4日(木)、渋谷ヒカリエ17階にて、日本最大級の不動産・住宅情報サイト『HOME'S』の開発の裏側を紹介するセミナーが開催されました。レバレジーズ株式会社が開催するエンジニア向け無料勉強会、「ヒカ☆ラボ」のイベントです。『HOME'S』を運営する株式会社ネクストの現役エンジニアが登壇し、現場のリアルな開発に関する話をじっくりと聞くことができました。

(河村 真里)

セミナーが行われたのは、レバレジーズ本社がある渋谷ヒカリエの17階。

定員約100名の会場に続々と参加者が集まり、ほぼ満席の状態に。『HOME'S』という人気サイトの開発の裏側は、多くのエンジニアが気になっているようです。

■インフラからフロントエンド、ネイティブアプリまで

講演してくださったのは、『HOME'S』のインフラ業務を担当する長沢翼氏、フロントエンドを中心に開発を行っている中島拓哉氏、そして『HOME'S』のiOSアプリの開発を担当する塙拓朗氏の3名です。インフラ、フロントエンド、ネイティブアプリと3つそれぞれの開発裏話を聞くことができる非常に贅沢な内容でした。

■Objective-CからSwiftへ

その中で今回は、Objective-CからSwiftへの移行に取り組んでいる、ネイティブアプリ開発にフォーカスを当ててレポートします。2014年に発表されたばかりの、新しいプログラミング言語であるSwift。Objective-CからSwiftへの移行は、iOSアプリ開発者にとって、今、最も気になる情報ではないでしょうか。2015年に新卒入社した若手社員でありながら、『HOME'S』で開発チームの先陣を切りSwift導入を行った塙拓朗氏から、その詳しい話を聞くことができました。

■Swiftの特徴は?

これまでiOSアプリ開発に使用されてきたObjective-Cは、癖が強く扱いづらいのが難点でした。一方、新しく生まれたSwiftは、無駄な記述がなく可読性の高いコードとなっています。また他言語の特徴も取り入れられているので、初めて使う人でも馴染みやすいはず。さらには、静的な型チェックが行われるため安定性が高く、不具合が起こりにくいのも魅力です。ただし、年に1度の割合でメジャーアップデートが行われるため、その都度メンテナンスが必要になります。

■SwiftとObjective-Cを共存させるには?

既存アプリをObjective-CからSwiftへ移行するときには、両方の言語が混在する期間が発生します。『HOME'S』チームでは既存機能の改修でも、なるべくSwiftを使い、切り出せるものがあれば機能単位で切り離し、他からの参照が少ないものであれば一から書き直すことで、積極的にSwift化を進めていったそうです。講演で、その方法を具体的に紹介していただきました。

■SwiftからObjective-Cを呼び出す

Swiftでは、これまでObjective-Cで作成してきたクラスやライブラリを、そのまま活用することができます。まずSwiftからObjective-Cのプログラムを活用するためには、プロジェクト内にBridging-Header.hというファイルを用意し、このファイルに必要なヘッダファイルをインポートすればOKです。

■Objective-C からSwiftを呼び出す

反対にObjective-C からSwiftを呼び出す場合は、Swift側でNSObjectを継承させるか、@objcを付けて宣言する必要があります。Xcodeが自動的に<ターゲット名>-swift.hというファイルを生成してくれるので、これを必要なファイル上でインポートすればOKです。

このように、SwiftとObjective-Cは相互に連携することができるため、今ある資産を生かしながらの移行が可能なのです。

■UTは全てSwiftで書く

Objective-Cで書かれたプログラムは、そのままSwiftでテストをすることができます。そのため『HOME'S』チームでは、UTを全てSwiftで行っているそうです。いきなりSwiftを導入するのに不安がある場合は、まずテストコードだけSwiftで書いてみるのも良いかもしれません。

■Swift力を向上させるために

Swiftは、かなり新しい言語のため、まだ触ったことがないという人も多いはず。『HOME'S』チームでは、Swiftに慣れるためまず簡単なゲームを作ってみたり、毎年代表者1名がAppleの開発者向けイベント「WWDC」に参加したりして、チーム全体のSwift力を向上させているとのこと。新しい言語を取り入れる際は、このような社内勉強会や情報共有が非常に大切ですね。

■まとめ

塙氏の講演では、iOSアプリでどのようにSwift移行を行ってきたのかを、詳しく学ぶことができました。Objective-CからSwiftへの移行に戸惑っていた人も、この講演でかなり不安が解消されたのではないでしょうか。
そのほか、インフラのAWS移行に関する裏話やフロントエンドの地図系サイトを構築した際に得た知識の話もあり、どの講演も現場ですぐに生かせる知識や情報が盛りだくさんで、非常に贅沢な内容でした。

株式会社ネクストのエンジニアブログはこちら
http://nextdeveloper.hatenablog.com/

原稿:河村真里
SEとして勤務後、ライターに転身。何でも手を出したくなる雑食系。
IT関連情報のほか、旅行、グルメ、インテリアなど幅広いジャンルを執筆しています。

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW