【勉強会メモ】関西Javaエンジニアの会(関ジャバ) '17 9月度
日時:2017/09/15(金) 19:00 〜 21:00
場所:株式会社ロックオン大阪本社
テーマ:作ったものを語ろうぜ!自作アプリ / サービス発表会
ということで、今回はJavaはほぼ関係ない会でした。個人でアプリを開発するうえで、何をモチベーションとしたか?何が得られたか?などの実体験からくる知識やエピソードが共有された。技術要素はやや少ないが、リアルな情報で刺激は得られた。
趣味のアプリ開発チームを継続させるには
発表者:@kitkat @ogiarisan @tkpj2002(Jun Nishida)
概要
活動内容
- 3〜5名のアプリ開発
- 毎週1回、5時間程度
- 半年続いている
きっかけ
- 最初は勉強会だった
- 何を勉強するかのテーマがない
- 集まる人のやりたいことが一致しない
⇒サービス作ろう
チームについて
- チーム名:Matcheam
- メンバー:10名(常時参加は3〜5名)
- アプリの概要:フットサルがしたい人のマッチングサービス
アプリの目的
- 自分のチームと対戦相手をマッチング
- 人数が足りない時参加者を募集
- マッチング情報をスムーズに共有
- フットサルしたい人がしたい時にすぐできる
↑元にエレベータピッチ作成
チーム作り
- 1人での趣味の開発は詰まったら挫折しやすい
- モチベーション継続が難しい
⇒チームで趣味の開発をする
- アイデア・技術で助け合う
- 自分では開発できない時も他の人ができる
- 自分だけモチベーションが下がっても他の人のモチベーションでチームはまわる
- 学生のサークルみたいで楽しい
チームで開発を続ける
①参加を強制しない
- ふらっと参加する人も受け入れる
- 参加しない人にもslackで連携
②フラットな関係性
- 上下関係が無いのが大切
③本気で遊ぶ
- 仕事ではないので本気で開発しなくて良い
- どうせならオシャレに開発
重要なのは「ゆるさ」を保つこと
- ルールを作って守るほうが考えなくていいし楽
- モチベーションの維持?
- 維持をしようとしない
- 執着すればするほどしんどい
- 下がった時は別のことをする
運営テクニック
どこでやるか?⇒チームで集まる場所が無い
某F社の会議室を借りれることになった ⇒F社の社員が次々退社し別の場所を探すことに
1箇所では安心してはいけない
メンバーの会社を中心に
- コワーキングA社⇒支援金もらっている
- N社の会議室
支援金大事
- OSSしか使ってない
- フリーのサービス
⇒お金いらない?
⇒金の切れ目が縁の切れ目
- 備品
- コワーキングの場所代
⇒ランニングコストが意外と高い(1回と安いが毎週だと続かない)
スポンサー:アローラ http://www.allora.inc.jp/
お金が続けばうまくいく
- Slackのリアクションで出欠を取る
- 毎回欠かさず振り返り、毎回改善
- ポモドーロで効率アップ
技術要素に対するアプローチ
- 基本は勉強会からスタートしているので勉強優先
- 開発スピード < 技術の勉強
技術要素
- SpringBoot
- Thymeleaf
- H2
- jOOQ
- Gradle
jOOQ…全く知らなかった
- 未知の技術への挑戦⇒公式ドキュメントを見る
- 俯瞰でチームの状況を見てくれる人がいると良い
検証用のリポジトリ
技術を学ぶことも勉強になるが未知の技術の習得の仕方も勉強になる
実際に作りたいサービスで使うから習得しようと本気になる
やりたいことがあればチームを作ろう
補足
Q:スポンサーの交渉は?
- 当時仕事をしていた関係で社長と交渉
- スポンサー会社の社員さんもメンバーに参加
- 社長は社員に勉強させたかった
Swiftはろーわーるど…のついでにアプリ作ってみた
発表者: @hyperkinoko(松本キノコ)
作っているもの
- おせちガントチャート
- レシピ
- 買い物リスト
- DIY・クラフト
アプリの概要
フロー
- 食べ物などを製作して撮影⇒つぶやく
- 写真はDropboxへ
課題
- 写真が数年分たまって管理できない
- Dropboxにたまった写真の読み込みだけで1分
解決策
つぶやいた時のハッシュタグでフォルダ分けしたい
要件を満たすアプリがない ⇒アプリがなければつくればいい
⇒当時学習中だったSwiftで開発
開発の概要
Swiftの特徴
- extensionめちゃ便利
- null安全
- 後方互換はほぼ無い
Xcodeについて
参考図書
①「これからつくるiPhoneアプリ開発入門」
これからつくる iPhoneアプリ開発入門 ~Swiftではじめるプログラミングの第一歩~
- 作者: 藤治仁,徳弘佑衣,小林加奈子,小林由憲
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/10/26
- メディア: 単行本
- この商品を含むブログを見る
- サンプルアプリのボリュームが多い
- 文法の細かい説明は少なめ
詳細! Swift 3 iPhoneアプリ開発 入門ノート Swift3 + Xcode 8対応
- 作者: 大重美幸
- 出版社/メーカー: ソーテック社
- 発売日: 2016/11/05
- メディア: 単行本
- この商品を含むブログを見る
- 内容的には可もなく不可もなく
- 文法の解説は詳しい
- ①の補完
③詳解Swift
- 作者: 荻原剛志
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/12/27
- メディア: 単行本
- この商品を含むブログ (2件) を見る
- 言語仕様や文法を徹底解説
- 公式ドキュメントを一通り抑えた感じ
アプリの公開
アプリ公開のために変えたところ
- UI作り込み⇒外注
- 些細なバグ修正
- 自分では起こさない、気にならないようなバグ
- 手持ちの環境で再現できないバグ
- 端末対応
- サイズによる見え方の違いや操作性
アプリの公開
アプリを公開してよかったこと
- アプリが名刺代わりになる
- これぐらいの技術力があるという証明
- 技術力が飛躍的に上がる
- 公開するとなると自分用では済まないのでちゃんと勉強する
- やりきることで自信がつく
今後
- Android版
- Kotlinで書く?
- サポートページの充実
メシシェア
Yomoo!ってアプリを作ったよ!
発表者: @s_kozake(こざけ)
アプリの概要
なぜ作ったか
- 朝活で技術書を読んでいる
- もっと本の読む状況を見える化したい
- 自分のアプリを持ちたい
アプリを作った結果
- 朝活ができなくなった
- 本を読む時間がなくなった
- 自分に必要な本、記事だけを読むようになった
- アプリによってスキマ時間を活用できるようになった
Yomooo!
本よみの進捗を見える化するアプリ
(ダイエットアプリに影響を受けている)
アーキテクチャ
サーバサイド
- サーバ:HEROKU
- DB:PostgreSQL
- メール:SendGrid
- 書籍情報:Amazon Product Advertising API
アプリ
- Ionic(ハイブリッドアプリ)
- Cordova
- Angular
サーバ側技術
- JHipstar
- Yeoman generator
- Spring Boot + Angular
開発のお話
開発期間:6月半ば頃〜現在(現在α版)
- ①やりたいことを洗い出す
- ②画面イメージを書いてみる
- Keynote(Sketch使いたかったが難しそう)
- 画面イメージを書くと具体的なイメージがわきやすい
- ③画面モックをつくる
- 技術検証も兼ねてIonicで紙芝居作成
- モックを作ることで具体的な要求イメージと操作性への要望がわく
- モックを作ると完成した気になってしまう
- ④データ・モデルを作成する
- 画面に不備がないかを確認
- JDL-Studioを使用
開発方法
アプリ
- ionicのCLIで作成
ionic start
コマンドで雛形を選択し作成- サンプルがたくさん。参考になる。
サーバ
- yoman generatorでWebアプリの雛形ができる
JHipsterについて
- 認証、認可の仕組みが最初から実装されている
- アプリケーション管理の機能も用意されている
苦労・工夫した点
Chart部品
- Chart.js
- シンプルすぎてやりたいことができない
- Canvas.js
- 個人利用のみ無料なことに気づいた
- ライセンスはきちんと確認
- Vis.js⇒採用
- ズームなどができる
- モバイルの相性もいい
- MTIライセンス
JHipstarの自動生成ソースをどうするか
- 自動生成したソースをいじると管理画面が壊れる
- 極力触らない
参考書籍・サイト
[iOS/Android対応] HTML5 ハイブリッドアプリ開発[実践]入門 (Software Design plus)
- 作者: 久保田光則,アシアル株式会社
- 出版社/メーカー: 技術評論社
- 発売日: 2013/12/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
HTML5ApacheCordovaで始めるハイブリッドアプリ開発
HTML5とApache Cordovaで始めるハイブリッドアプリ開発 (CodeZine BOOKS)
- 作者: 小林昌弘,山田祥寛
- 出版社/メーカー: 翔泳社
- 発売日: 2017/08/09
- メディア: オンデマンド (ペーパーバック)
- この商品を含むブログを見る
Angular
公式サイトとGitbook
↓これから読む
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2017/08/04
- メディア: 大型本
- この商品を含むブログを見る
SpringBoot
はじめてのSpring Boot―スプリング・フレームワークで簡単Javaアプリ開発 (I・O BOOKS)
- 作者: 槙俊明
- 出版社/メーカー: 工学社
- 発売日: 2016/09/01
- メディア: 単行本
- この商品を含むブログ (1件) を見る
Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発
- 作者: 株式会社NTTデータ
- 出版社/メーカー: 翔泳社
- 発売日: 2016/07/21
- メディア: 大型本
- この商品を含むブログ (1件) を見る
- 作者: 井上誠一郎,槙俊明,上妻宜人,菊田洋一
- 出版社/メーカー: 技術評論社
- 発売日: 2016/07/26
- メディア: 大型本
- この商品を含むブログ (1件) を見る
↑JPAの部分だけ
JHipster
- 公式サイトが情報源
- minibookもおすすめ(無料)
まとめ
- 知るとできるは違う
- 失敗しても確実に成長する
- 今後使いたい技術で開発するとレバレッジが効いておすすめ
補足
つねまげ家のピンチ(LT)
発表者:tunemage
GIFMAKERという作成中アプリのデモ
製作期間4,5時間
ポイント
- 欲をすてる
- ベタな技術で作り切る
所感
全体を通して感じた事は自分(たち)のアプリを開発するうえで一番重要なのは作り切ることだと実感。そのうえで自分の課題感や目的とすりあわせて、勉強したい技術を使ったり、楽しく継続できるような手法を選択するなどは作り切るための手段として選択するのが良さそう。ベタな技術でいいので短期間で実現させるのも1つの選択肢だと感じた。また、アプリを公開することで一般のユーザーに向けた製品開発に近いプロセスを取ることになるため意識が高まるというのも確かにありそう。作った物のアウトプットをどうするかも重要かもしれない。