目次
- 各種の話題(2)
- 本日の話題
- IoT時代
- 増井のIoT記事 @ エンジニアType
- パーソナルコンピューティングの変化
- マイコン時代 (1970年代)
- パソコンCLI時代 (1980年代)
- パソコンGUI時代 (1990年〜)
- IoT時代 (2015〜)
- IoT時代 = Maker時代
- IoT/Maker時代
- 「ハルロック」
- メイカーズ進化論 by 小笠原
- DMM.make @ 秋葉原
- ビデオ: DMM.make
- TechShop
- ビデオ: TechShop
- Maker機械の例
- Phidgets
- Arduino
- Arduino Micro
- Blend Micro
- Raspberry Pi
- Intel Galileo
- Intel Edison
- 知っておきたい技術
- ユーザインタフェースのプログラミング
- ユーザインタフェース部分
- インタフェース作成の面倒さ
- インタフェース作成の面倒さ (cont'd)
- インタフェース作成の面倒さ (cont'd)
- リアルタイム性
- 様々な要素技術
- アプリケーション部とインタフェース部の交錯
- AppとI/Fの分離
- 分離の困難さ
- 並列処理
- 並列処理 (cont'd)
- 例外処理
- エラー処理記述の面倒さ
- 柔軟性/頑強性
- ユーザ補助機能
- 評価/再設計の繰り返し
- 関連技術
- 関連技術 (cont'd)
- 関連技術 (cont'd)
- 解決法1: UIMS
- UIMS = User Interface Management System
- Seeheimモデル
- UIMSの問題点
- 解決法2: UI記述言語
- Languages for Developing User Interfaces
- UI記述言語の問題点
- 解決法3: ツールキット
- 各種のグラフィックツールキット
- オブジェクト指向ツールキット
- 例: NeXTstepのプログラム
- UIツールキットの問題点
- UIツールキットの問題点 (cont'd)
- 解決策4: 状態遷移プログラミング
- 状態遷移機械の問題点
- 拡張状態遷移機械単純な状態遷移機械を拡張したモデル
- StateChart
- StateChartによるCDプレーヤ
- StateChartによるCDプレーヤ
- ケータイ入力の状態遷移
- StateChartの実装
- ツールを使わずにStateChartを実装する方法
- JavaScriptによるCDプレーヤの実装
- 解決策5: 並列プログラミング
- 並列処理はUIプログラミングに非常に重要
- ツールキットの並列動作
- 並列プログラミングの問題点
- 解決法6: インターフェースビルダ
- インターフェースビルダ
- NeXTのインタフェースビルダ
- Xcodeのインタフェースビルダ
- インターフェースビルダの問題点
- 解決法7: 制約プログラミング
- 参考: Cinderella
- Ivan SutherlandのSketchpad
- 制約システムの問題点
- 解決法8: 例示プログラミング
- Viscuit
- 例示システムの問題点
- どうするのがよいか?
- 工夫のいろいろ
- From scratch, 小規模システムの場合
- From scratch, 大規模システムの場合
- ウィンドウシステムの場合
- プロトタイプシステムをとりあえず動かす場合
- ツールの実例1: Flex
- Flex適用例
- C出力
- ツールの実例2: Linda
- Lindaモデル
- 8-Queen
- Lindaによる解法
- 端末インタフェースをもつ8-Queenプログラム
- ウィンドウインタフェースをもつ8-Queenプログラム
- Node+Linda
- End