札幌で勉強会「Develpers.IO Meetup 10」を開催しました

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

札幌で勉強会「Develpers.IO Meetup 10」を開催しました

2014年11月8日(土)、札幌のコワーキングスペース&喫茶店 Sapporo Cafe にて、弊社Blog「Developers.IO」の出張勉強会「Develpers.IO Meetup 10」が開催されました。

参加募集ページ → 【札幌・勉強会】スマホアプリ開発 あしたの為の環境と設計のアプローチ[iOS/Android]

札幌での開催は3度目となります。

札幌在住の方2名と、弊社スタッフ2名が発表しました。

会場の紹介

Sapporo Cafe は、札幌駅からほど近い場所にあります。一階は軽食が食べられるカフェなっており、近くにある北海道大学の学生や、コワーキングスペース(二階)を使う方、一般の方などが集う賑やかなコミュニケーションスペースとなっています。

今回の勉強会は二階をお借りして開催しました。

IMG_3744

cafesapace-sapporocafe

タイムテーブル

時間 内容
時間 内容
16:00 開場
16:20 - 16:30 会場のあいさつ
16:30 - 16:50 あなたのアプリ、報・連・相できてますか? - クラスメソッド横山 (Android)
16:50 - 17:10 VIPERアーキテクチャで既存のプロジェクトを振り返る - クラスメソッド安達 (iOS)
17:10 - 17:20 休憩
17:20 - 17:40 最近の実装方針について - ローラハウス秋本 (iOS)
17:40 - 18:00 明日のためのBaaS - いります電算企画 能登(iOS)
18:00 - 18:05 閉会のあいさつ
19:00 - 懇親会(半額持ちます!)

会場の様子

IMG_3547

弊社スタッフを含め、会場は20名を超える人たちで賑わいました。

はじめに弊社深澤より、ご挨拶申し上げました。

発表・札幌在住の方編

最近の実装方針について

発表:ローラハウス・秋本様

数々の企業案件を受託されてきた秋元氏。その経験の中から、昔と今の一般的な実装方針の違いや、iOSアプリの開発や設計で重要なことについて説明されました。

まず、昔に比べて設計がカジュアルになったことを指摘。数々のドキュメントを駆使して開発した昔に比べ、今のモバイル案件は、小さく作って大きく育てるアジャイル開発が主流だといいます。

IMG_3573

また、iOSアプリ開発においては、ViewControllerのダイエットが大事と説明。MVCモデルを活用し、ロジックは Model に集中させること、ViewController を太らせないため、View を拡張することの重要性を指摘されました。また、こうした方針はプロジェクトの初期にメンバー間で話し合い、そのルールを徹底して守ることが、後の仕様拡張などに対応していく際に重要だと説明されました。

IMG_3574

会場でのQ&A

Q.ルールを決めた後、それを守るための運用はどうすればいいのか?

A.GitHubのプルリクエストを活用。必ずレビューをするルールが(自動的に)守られる形になる。


Q.プルリクエストでマージする権限を持った人は限られる?

A.そこは運用次第


Q.プロジェクトが進むうちにルールは変わっていく?

A.守られないことがあったかもしれないが、基本的に変わったと思ったことはない。

明日のためのBaaS

発表:いります電算企画・能登様

続いて、多くの受託開発をされている能登氏が登場。アプリ開発の方法を変えるBaaSである、Parse について説明されました。

IMG_3581

従来、サーバを活用するアプリ開発の場合、アプリ側、ネットワーク・DB側双方について関心を持つ必要があったことを指摘。しかし、そもそも開発者はアプリ側に注力すべきとの考えを述べられました。

Parseはそうした理想を実現する手段として、有効であることを説明されました。

Parse は iOS, Android, Windows と広範囲のプラットフォームに対応していること、任意のロジックを BaaS に組み込みモバイル側の負荷を減らせる Cloud Code があるなど、大変利便性が高い点を説明されました。

IMG_3588

一方、BaaS の一般的なデメリットについても説明されました。データの移行が困難であること、価格モデルがBaaS運営各社でバラバラであること、顧客に採用技術の制約があるとそもそも BaaS 採用が難しいことがあることを指摘されました。

発表・弊社スタッフ編

あなたのアプリ報連相できてますか

発表:クラスメソッド・横山

弊社のAndroidエンジニア・デザイナーである横山からは、MVPパターンについて発表をいたしました。

IMG_3548

はじめに、MVCパターンはアプリ開発に必ずしも適さないとの考えを発表。MVPパターンのほうがモバイルに適したパターンであると指摘しました。

IMG_3553

発表の中では、Androidでの実装例を示しながら、MVPパターンを利用する前、利用したあとの各ソースコードを例示。ViewとModelの間にPresenterが入るMVPパターンを利用することで、AndroidアプリのActivityが肥大化していくことを防ぎ、UIロジックのテストが簡単になることを説明しました。

会場でのQ&A

Q.クラスメソッド社内で、MVP や MVC という言葉の定義は、共通化されているのか?

A.ある程度されている。共通化するのは重要。


Q.MVPという言葉は初めて聞いたが、どの辺で使われている言葉なのか?

A.割と昔からある言葉の模様。Presenter Pattern 等とも呼ばれる。

VIPER アーキテクチャによる iOS アプリの設計

発表:クラスメソッド・安達

登山が好きな弊社iOSエンジニア・安達からは、VIPERアーキテクチャ(View Interactor Presenter Entity Routing)についての発表をいたしました。

IMG_3556

MVCパターンでのアプリ開発では、Controllerが長大になりがちであることを指摘。そうした問題を解決するための本モデルについて、説明。

IMG_3559b

Presenterから受け取った内容を表示したりユーザーの入力内容をPresenterに受渡す View、ビジネスロジックを受け持つInterator、Viewに受け渡す中身を用意したりViewから受け渡された内容に反応するPresenter、Interactorで使われる基本モデルを持つEntity、画面遷移について責務を持つRoutingについて、図を用い、お互いの連携について説明をいたしました。

会場でのQ&A

Q.皆最初から共通の設計方針を理解してコードを書けるのか?

A.共通理解が最初から進んでいない部分については、コードレビューの中で改善していき、共通認識つくっていく。

札幌での勉強会はアツかった

設計やBaaSについて、秋元様・能登様から、大変わかりやすい発表を頂きました。弊社の横山・安達からも有用な発表ができたものと思っています。質問も活発に飛び交い、大成功のうちに幕を閉じました。

更新履歴

  • 2014/11/29 - 写真を追加しました。