Developers Summit 2015 Summer メモ

# Developers Summit 2015 Summerの個人メモ

日時：2015年7月29日
場所：御茶ノ水ソラシティカンファレンスセンター
参加費：無料
URL：http://event.shoeisha.jp/devsumi/20150729
## Developers Summit 通称デブサミとは
* 主にITに携わるエンジニアが集い、情報交換する場
* 有力ベンダの社員が登壇するさまざまなセッションがある
* デベロッパで近年話題になっている話が聞ける。トレンドを知ることが出来る

## テーマ
今回の夏サミ(デブサミ サマーバージョン)の副題は
**デベロッパーがエンジンとなって企業ビジネスを加速させよう**
である。
いま、モバイル、IoT、クラウド等の技術が出現し、進歩することにより、産業構造改革がおきつつあるなか、企業ビジネスを加速するキーパーソンは、デベロッパである。我々デベロッパはどのようなアクションをとるべきか。その体験談や考えを共有する。

## 内容
### Cordova x 業務システム　失敗しないモバイル開発の秘訣（アシアル株式会社）
####Cordovaの概要と歴史
* 前身はPhoneGap
* Google Trendsによると、ここ最近、PhoneGapとCordovaのInterestの度合いが逆転
* 昔と今じゃ状況が違う（5年間でハードウェアのスペック1500%向上）
　→　JavaScript言語環境でも十分なパフォーマンスを示す
* 今はB2B、B2Eアプリでも良く使われている
* 脆弱性は無視できない問題

#### モバイルの開発事情
* ウォーターフォールよりアジャイル

#### Cordova開発の留意点
* なんかもっさり、遅い、もっとサクサクにならないか  

1. Single Page App にする。（⇔ Mult Page App　従来のWebサイト)  
　　html,JSをページごとに毎回読み込むから遅くなる
2. 300ms Delayに関する対策をする。  
  ダブルタップかシングルタップかを見分けるために、デフォルトではタップしてから300ms遅れよ　うになっている
3. html → サポートされている度合いがベンダごとに違う
4. iOSとAndroid,Web Viewエンジン、違うCSS解釈
5. ネイティブ開発が「ゼロ」にならない
6. 早いバージョンアップ、セキュリティフィックス

#### Monacaの概要
* アプリ開発ソリューション
* 4つの開発環境をサポート（MonacaクラウドIDE, Monaca Locakit, Monaca for VisualStudio, Monaca CLI）
* 充実のテストツール
* セットアップ不要のリモートビルド
* 超高速モバイルUIフレームワーク
* Cordovaコアを拡張

#### 所感
JavaScriptが基本スキルセットの一つになる時代が到来したと思った。JavaScriptを、ニフティクラウドmBaaSとの連携開発も視野に入れて勉強したい。

### IoTの「I」をカタチにする～インターネット企業が取り組むスピーディーなIoT参入への挑戦～（ニフティ株式会社）
* ニフティの歴史、強み
* IoTの概要、未来
* 現在のニフティの取り組み
* 企業提携してホールプロダクトを生み出そう

#### 所感
IoTの未来を想像し、わくわくした。そんなわくわくの世界の構築に自分が携われたら、なんて幸せなことだろう。

### エンタメもエンプラもマルチデバイス開発（シリアルゲームズ）
* 会社概要
* 開発対象の変遷  
  これまで（～2007）:windowsで動けばいい。とりあえずWindows  
  iPhone,Android登場：windowsの仕事ない。モバイルの仕事ばっかり

今は... 

#### ターゲット
iOS, Android, windows10 mobile, Firefox OS?, Windows10, macOS X...
#### 言語
C, C++, C#, Objective-C/Swift, Java, etc...
#### ハードウェア(解像度)  
FullHD, QXGA, WQHD, 4K, 8K, @2x, @3x, mdpi, xdpi, xxdpi, xxxdpi...
#### ハードウェア（インプット）
マウス、タッチ、キーボード、ソフトウェアキーボード、音声...  
※画面が半分隠れるソフトウェアキーボードはUIの工夫が必要
#### センサ
6軸, 加速度, 方角, GPS, ステップ、湿度、温度、気圧... 
  
→  **まさにカオス**  (異なる操作性、利用シーン、開発...)
→  どうする？

#### ターゲットの選定
* 利用シーン
* 年齢層
* 性別
* etc

#### ターゲットOS、デザインを決定できる
 
#### ※すでに顧客からデスクトップ端末の存在は忘れ去られている

* iOSの開発に必要なもの    
    -デバイスの知識（解像度）   
    -iOS API    
    -Objective-C/Swift    
    -署名、プロビジョニングの知識    
    -Rejectの条件    
    -iTunes Storeの知識
* Androidの開発に必要なもの    
    -デバイスの知識    
    -Android SDK/NDK
    -Javaの知識    
    -署名    
    -Rejectの条件    
    -GooglePlay    
* Windows OSXの開発に必要なもの    
    -略

####同社は、開発にUnityを採用
* 流行 → 情報量
* 効率いい    
* ターゲットOS多い
* C#, .NETframework使える

####同社は、開発にDelphi（Enterprise）を採用
* FireMonkeyによる開発
* UI部分をOSから分離
* 解像度、アスペクト比からの開放（仮想解像度、Align/Anchor、Form Family）
* ターゲットOS多い
* Object Pascal, C++使える

####　同社は、開発にJavaScriptを採用
* Webとの親和性
* ハイブリッドアプリ化
* JSの使用者
* フレームワーク/ライブラリ

#### 所感　　
自分のターゲットは誰なのか、よく考えた上でスキルセットをそろえたいと思った。

### Enterprise x Cloud TechTalks
全体を通して　　　
* コンポーザブルなエンジニアになれ
* 作る技術 < 使う技術
* OpenStack
* エンジニアがクラウドをつかうことで、統合的な人生設計がしやすくなる
* 単一工より多能工になれ
* 技術を組み合わせられる。知っている技術の幅が多いほうが当然いい
* どこの会社でもやっていける
* ここは負けない得意領域
* コミュニティへの参加
* アウトプットの多さ
* MUST事項（いまできないと危機感を持ったほうがいい)    
    -モバイル開発    
    -SSO    
    -システム連携
* 手を動かし、実際にやる
* 自分が得意なサービスだけで安易に完結しない
* 車輪の再開発をやめろ
* 「APIであなたはなにを作りますか」

### 所感
今（これから）の時代は、部品をうまく組み合わせること、早く組み合わせることが出来る人が
重宝されるんだと理解した。自分もそんな人材になりたい。

## 全体を通して（所感）
このような会に参加したのは実は初めてだった。さまざまな話を聞いて
参加後はモチベーションがあがった。
今後も積極的にこのようなイベントに参加したい。    

また、この記事はQiita初投稿でもある。もっとうまくまとめられる表現力も身につけて
アウトプットをしっかり出来るエンジニアにないたい。