SlideShare a Scribd company logo
1 of 28
The JavaScript app platform
www.meteor.com
はじめに
Meteorって何?
Meteorの優れているところ
コードデモ
事例紹介
中の人紹介
今後の予定
Meteorって何?
1つのコードベースで
全てのプラットフォームに対応
オープンで拡張可能
100% pure
JavaScript
Collaborative iOS and Android
app
1000 行未満のJavaScriptコード
Webやモバイルアプリ開発向けフルスタックなオープンソースJavaScriptプラットフォーム
早くて楽しい
開発
先進的なアプリを素早く
小さなチームで作れる
Meteorコンポーネント
コマンドラインツール
ビューレイヤー – Blaze (Angular, React)
ライブクエリー(Livequery)
パッケージシステム – atmospherejs.com
ビルドシステム
Cordova/Phonegap
Meteorの優れているところ
Table stakes
現在これまで
PCブラウザ モバイル
再読み込み ライブアップデート
個別セッション 複数ユーザコラボレーション
リンクやフォーム ネイティブっぽいUI
再読み込みせずブラウザの画面を更新
リアルタイムコラボレーション
“血反吐を吐いてきた”
Brett Kiefer
The Trello Tech Stack
http://blog.fogcreek.com/the-trello-tech-stack/
結果: 複雑な構造
HTML Templates App Logic
Reactive UI update system
Native mobile container
Speculative client-side updates
Client-side data store
Custom data sync protocol
Realtime database monitoring
Build & update system
We want to focus on the app, not the infrastructure
App Microservices
PLATFOR
M
Blaze
Livequery
Client Data Cache
MongoDB SQL REST
App Components & Logic
React Angular
SERVER
CLIENT
SOURCES
DDP
MobileWeb
Meteorコードデモ
MongoDB DOM
Server Client
Meteorデータの流れ
Minimongo
Optimistic UI
What We Saw – Meteor Tool
Install to deploy in minutes w/free hosting
Hot code push
Multi-platform support
Full-stack packages
What We Saw – Framework Features
Reactive rendering
Database sync
Intuitive, isomorphic API
Minimal boilerplate code
The Meteor Platform
App Microservices
PLATFORM
Blaze
Livequery
Client Data Cache
MongoDB SQL REST
App Components & Logic
React Angular
SERVER
CLIENT
SOURCES
DDP
MobileWeb
Who is using Meteor?
Companies using Meteor
Workpop: Raised $7.9 million Series A led by Trinity Ventures
“the most rapid prototyping, iteration and development
we’ve ever seen from an early stage company”
Meteor community
Over 200 meetup groups
Over 6000 community-authored packages
Ranked in top10 on GitHub
Who is behind Meteor?
Meteor Development Group
Funded (won’t disappear)
- $20 Million series B - May 2015
Active development by full-time employees
Revenue product: Galaxy
- high-availability/large scale Meteor hosting
Meteor platform is MIT-licensed
- host anywhere; you own the code
What’s next?
ロードマップ
Meteor 1.2 – 2015年夏
• ES2015 (ES6)
• 1st Class Angular, React support
今後の予定
• Full-stack reactive SQL
• REST and microservices
• Large app patterns, ES2015 modules, and more
meteor.com/learn
公式Meteorチュートリアル
公式Meteorドキュメント
Meteorフォーラム
Discover Meteor (書籍)
Stack Overflow
meteor.com/try
docs.meteor.com
forums.meteor.com
book.discovermeteor.com
stackoverflow.com/questions/tagged/meteor
Example Apps
Todos — a full-featured todo list app
collaborative app, access control, responsive
meteor create --example todos
Local Market — a mobile social engagement app
Twitter integration, camera integration, mobile-optimized
meteor create --example localmarket
www.meteor.com
ご静聴ありがとうございました

More Related Content

Viewers also liked

Descripcion productos y servicios
Descripcion productos y serviciosDescripcion productos y servicios
Descripcion productos y servicioshernan2107
 
Libros de-texto-definitivo-2015-16-(1)
Libros de-texto-definitivo-2015-16-(1)Libros de-texto-definitivo-2015-16-(1)
Libros de-texto-definitivo-2015-16-(1)ies valledeltietar
 
Estilos de uñas pedicure y manicure
Estilos de uñas pedicure y manicureEstilos de uñas pedicure y manicure
Estilos de uñas pedicure y manicureMarcio Perez
 
El divertido mundo de los ángulos. presentación (1)
El divertido mundo de los ángulos. presentación (1)El divertido mundo de los ángulos. presentación (1)
El divertido mundo de los ángulos. presentación (1)ies valledeltietar
 
Meeting Room Layout Considerations
Meeting Room Layout ConsiderationsMeeting Room Layout Considerations
Meeting Room Layout ConsiderationsDerson Ltd.
 
はじめてのAndroid開発
はじめてのAndroid開発はじめてのAndroid開発
はじめてのAndroid開発Katsumi Honda
 
Strategic Marketing: Session 1: Market Driven Strategies
Strategic Marketing: Session 1: Market Driven StrategiesStrategic Marketing: Session 1: Market Driven Strategies
Strategic Marketing: Session 1: Market Driven StrategiesAnik Saha
 
Folheto Korres - CP 02 e 03/2017
Folheto Korres - CP 02 e 03/2017Folheto Korres - CP 02 e 03/2017
Folheto Korres - CP 02 e 03/2017À vontade Avon
 
SalesSchool - designing powerful VC pitches
SalesSchool - designing powerful VC pitchesSalesSchool - designing powerful VC pitches
SalesSchool - designing powerful VC pitchesIdea Transplant
 
Folheto Avon Cosméticos - 19/2016
Folheto Avon Cosméticos - 19/2016Folheto Avon Cosméticos - 19/2016
Folheto Avon Cosméticos - 19/2016À vontade Avon
 
Facilitating Creative Thinking
Facilitating Creative ThinkingFacilitating Creative Thinking
Facilitating Creative ThinkingVaibhav Bhanot
 
Business Strategy session 4
Business Strategy session 4Business Strategy session 4
Business Strategy session 4Anik Saha
 
Angel's Boutique Business Plan
Angel's Boutique Business PlanAngel's Boutique Business Plan
Angel's Boutique Business Planmauryyn
 
Lessons from: My first 30 days as an entrepreneur
Lessons from: My first 30 days as an entrepreneurLessons from: My first 30 days as an entrepreneur
Lessons from: My first 30 days as an entrepreneurBülent Duagi
 

Viewers also liked (19)

Descripcion productos y servicios
Descripcion productos y serviciosDescripcion productos y servicios
Descripcion productos y servicios
 
Fundación
FundaciónFundación
Fundación
 
Presenation - POLÔNIA
Presenation  - POLÔNIAPresenation  - POLÔNIA
Presenation - POLÔNIA
 
Libros de-texto-definitivo-2015-16-(1)
Libros de-texto-definitivo-2015-16-(1)Libros de-texto-definitivo-2015-16-(1)
Libros de-texto-definitivo-2015-16-(1)
 
Estilos de uñas pedicure y manicure
Estilos de uñas pedicure y manicureEstilos de uñas pedicure y manicure
Estilos de uñas pedicure y manicure
 
Apresentação de negócio L'acqua di Fiori
Apresentação de negócio L'acqua di FioriApresentação de negócio L'acqua di Fiori
Apresentação de negócio L'acqua di Fiori
 
El divertido mundo de los ángulos. presentación (1)
El divertido mundo de los ángulos. presentación (1)El divertido mundo de los ángulos. presentación (1)
El divertido mundo de los ángulos. presentación (1)
 
Meeting Room Layout Considerations
Meeting Room Layout ConsiderationsMeeting Room Layout Considerations
Meeting Room Layout Considerations
 
はじめてのAndroid開発
はじめてのAndroid開発はじめてのAndroid開発
はじめてのAndroid開発
 
Strategic Marketing: Session 1: Market Driven Strategies
Strategic Marketing: Session 1: Market Driven StrategiesStrategic Marketing: Session 1: Market Driven Strategies
Strategic Marketing: Session 1: Market Driven Strategies
 
回帰
回帰回帰
回帰
 
Folheto Korres - CP 02 e 03/2017
Folheto Korres - CP 02 e 03/2017Folheto Korres - CP 02 e 03/2017
Folheto Korres - CP 02 e 03/2017
 
SalesSchool - designing powerful VC pitches
SalesSchool - designing powerful VC pitchesSalesSchool - designing powerful VC pitches
SalesSchool - designing powerful VC pitches
 
Rnncamp01
Rnncamp01Rnncamp01
Rnncamp01
 
Folheto Avon Cosméticos - 19/2016
Folheto Avon Cosméticos - 19/2016Folheto Avon Cosméticos - 19/2016
Folheto Avon Cosméticos - 19/2016
 
Facilitating Creative Thinking
Facilitating Creative ThinkingFacilitating Creative Thinking
Facilitating Creative Thinking
 
Business Strategy session 4
Business Strategy session 4Business Strategy session 4
Business Strategy session 4
 
Angel's Boutique Business Plan
Angel's Boutique Business PlanAngel's Boutique Business Plan
Angel's Boutique Business Plan
 
Lessons from: My first 30 days as an entrepreneur
Lessons from: My first 30 days as an entrepreneurLessons from: My first 30 days as an entrepreneur
Lessons from: My first 30 days as an entrepreneur
 

Similar to Meteor intro-2015-rev1- 日本語バージョン

One ASP.NET の今とこれから
One ASP.NET の今とこれからOne ASP.NET の今とこれから
One ASP.NET の今とこれからAkira Inoue
 
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 日本マイクロソフト株式会社
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Akira Inoue
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platformToru Yamaguchi
 
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~Akira Inoue
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後Akira Inoue
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Monaca
 
Web App Framework at SwapSkills vol28
Web App Framework at SwapSkills vol28Web App Framework at SwapSkills vol28
Web App Framework at SwapSkills vol28光一 原田
 
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)友太 渡辺
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解Monaca
 
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデートAkira Inoue
 
2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordovamiso- soup3
 
120512 metro styleapp_javascript
120512 metro styleapp_javascript120512 metro styleapp_javascript
120512 metro styleapp_javascriptTakayoshi Tanaka
 
【デブサミ関西2014】Web技術で作るエンタープライズアプリ
【デブサミ関西2014】Web技術で作るエンタープライズアプリ【デブサミ関西2014】Web技術で作るエンタープライズアプリ
【デブサミ関西2014】Web技術で作るエンタープライズアプリアシアル株式会社
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向Tsutomu Ogasawara
 
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門minazou67
 
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
JavaScript(AngularJS・React.js)で作る iOS・AndroidアプリハンズオンJavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
JavaScript(AngularJS・React.js)で作る iOS・AndroidアプリハンズオンKazuhiro Yoshimoto
 
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要Akira Inoue
 
AWS Mobile SDK利用時のテスト手法
AWS Mobile SDK利用時のテスト手法AWS Mobile SDK利用時のテスト手法
AWS Mobile SDK利用時のテスト手法yuki0211s
 

Similar to Meteor intro-2015-rev1- 日本語バージョン (20)

One ASP.NET の今とこれから
One ASP.NET の今とこれからOne ASP.NET の今とこれから
One ASP.NET の今とこれから
 
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
 
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
 
Web App Framework at SwapSkills vol28
Web App Framework at SwapSkills vol28Web App Framework at SwapSkills vol28
Web App Framework at SwapSkills vol28
 
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解
 
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
 
2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova
 
20100218
2010021820100218
20100218
 
120512 metro styleapp_javascript
120512 metro styleapp_javascript120512 metro styleapp_javascript
120512 metro styleapp_javascript
 
【デブサミ関西2014】Web技術で作るエンタープライズアプリ
【デブサミ関西2014】Web技術で作るエンタープライズアプリ【デブサミ関西2014】Web技術で作るエンタープライズアプリ
【デブサミ関西2014】Web技術で作るエンタープライズアプリ
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
 
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門
 
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
JavaScript(AngularJS・React.js)で作る iOS・AndroidアプリハンズオンJavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
 
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
 
AWS Mobile SDK利用時のテスト手法
AWS Mobile SDK利用時のテスト手法AWS Mobile SDK利用時のテスト手法
AWS Mobile SDK利用時のテスト手法
 

More from Katsumi Honda

Ionicアプリのデータ管理
Ionicアプリのデータ管理Ionicアプリのデータ管理
Ionicアプリのデータ管理Katsumi Honda
 
Angularで新サービス作って学んだこととか
Angularで新サービス作って学んだこととかAngularで新サービス作って学んだこととか
Angularで新サービス作って学んだこととかKatsumi Honda
 
1粒で6度おいしい(かもしれない) Ionicのススメ
1粒で6度おいしい(かもしれない) Ionicのススメ1粒で6度おいしい(かもしれない) Ionicのススメ
1粒で6度おいしい(かもしれない) IonicのススメKatsumi Honda
 
はじめてのMeteor
はじめてのMeteorはじめてのMeteor
はじめてのMeteorKatsumi Honda
 
Mobile Backend Starterを使ってサクサクアプリ開発
Mobile Backend Starterを使ってサクサクアプリ開発Mobile Backend Starterを使ってサクサクアプリ開発
Mobile Backend Starterを使ってサクサクアプリ開発Katsumi Honda
 
ヨーマンおじさんと戯れる会
ヨーマンおじさんと戯れる会ヨーマンおじさんと戯れる会
ヨーマンおじさんと戯れる会Katsumi Honda
 
イマドキのWebアプリの作り方
イマドキのWebアプリの作り方イマドキのWebアプリの作り方
イマドキのWebアプリの作り方Katsumi Honda
 
はじめてのPython
はじめてのPythonはじめてのPython
はじめてのPythonKatsumi Honda
 
はじめてのPython - 開発環境の準備 for Mac
はじめてのPython - 開発環境の準備 for MacはじめてのPython - 開発環境の準備 for Mac
はじめてのPython - 開発環境の準備 for MacKatsumi Honda
 
はじめてのPython - 開発環境の準備 for Windows
はじめてのPython - 開発環境の準備 for WindowsはじめてのPython - 開発環境の準備 for Windows
はじめてのPython - 開発環境の準備 for WindowsKatsumi Honda
 
冬だからAndroid再入門
冬だからAndroid再入門冬だからAndroid再入門
冬だからAndroid再入門Katsumi Honda
 
Osc2012 appinventor のその後
Osc2012 appinventor のその後Osc2012 appinventor のその後
Osc2012 appinventor のその後Katsumi Honda
 
秋だからEclipse再入門
秋だからEclipse再入門秋だからEclipse再入門
秋だからEclipse再入門Katsumi Honda
 
夏だからJava再入門
夏だからJava再入門夏だからJava再入門
夏だからJava再入門Katsumi Honda
 
OSC2011 Androidハンズオン
OSC2011 AndroidハンズオンOSC2011 Androidハンズオン
OSC2011 AndroidハンズオンKatsumi Honda
 
雲から機器へ伝達させる為の枠組み
雲から機器へ伝達させる為の枠組み雲から機器へ伝達させる為の枠組み
雲から機器へ伝達させる為の枠組みKatsumi Honda
 
激安Androidタブレットを買ってみた
激安Androidタブレットを買ってみた激安Androidタブレットを買ってみた
激安Androidタブレットを買ってみたKatsumi Honda
 

More from Katsumi Honda (17)

Ionicアプリのデータ管理
Ionicアプリのデータ管理Ionicアプリのデータ管理
Ionicアプリのデータ管理
 
Angularで新サービス作って学んだこととか
Angularで新サービス作って学んだこととかAngularで新サービス作って学んだこととか
Angularで新サービス作って学んだこととか
 
1粒で6度おいしい(かもしれない) Ionicのススメ
1粒で6度おいしい(かもしれない) Ionicのススメ1粒で6度おいしい(かもしれない) Ionicのススメ
1粒で6度おいしい(かもしれない) Ionicのススメ
 
はじめてのMeteor
はじめてのMeteorはじめてのMeteor
はじめてのMeteor
 
Mobile Backend Starterを使ってサクサクアプリ開発
Mobile Backend Starterを使ってサクサクアプリ開発Mobile Backend Starterを使ってサクサクアプリ開発
Mobile Backend Starterを使ってサクサクアプリ開発
 
ヨーマンおじさんと戯れる会
ヨーマンおじさんと戯れる会ヨーマンおじさんと戯れる会
ヨーマンおじさんと戯れる会
 
イマドキのWebアプリの作り方
イマドキのWebアプリの作り方イマドキのWebアプリの作り方
イマドキのWebアプリの作り方
 
はじめてのPython
はじめてのPythonはじめてのPython
はじめてのPython
 
はじめてのPython - 開発環境の準備 for Mac
はじめてのPython - 開発環境の準備 for MacはじめてのPython - 開発環境の準備 for Mac
はじめてのPython - 開発環境の準備 for Mac
 
はじめてのPython - 開発環境の準備 for Windows
はじめてのPython - 開発環境の準備 for WindowsはじめてのPython - 開発環境の準備 for Windows
はじめてのPython - 開発環境の準備 for Windows
 
冬だからAndroid再入門
冬だからAndroid再入門冬だからAndroid再入門
冬だからAndroid再入門
 
Osc2012 appinventor のその後
Osc2012 appinventor のその後Osc2012 appinventor のその後
Osc2012 appinventor のその後
 
秋だからEclipse再入門
秋だからEclipse再入門秋だからEclipse再入門
秋だからEclipse再入門
 
夏だからJava再入門
夏だからJava再入門夏だからJava再入門
夏だからJava再入門
 
OSC2011 Androidハンズオン
OSC2011 AndroidハンズオンOSC2011 Androidハンズオン
OSC2011 Androidハンズオン
 
雲から機器へ伝達させる為の枠組み
雲から機器へ伝達させる為の枠組み雲から機器へ伝達させる為の枠組み
雲から機器へ伝達させる為の枠組み
 
激安Androidタブレットを買ってみた
激安Androidタブレットを買ってみた激安Androidタブレットを買ってみた
激安Androidタブレットを買ってみた
 

Meteor intro-2015-rev1- 日本語バージョン

Editor's Notes

  1. I’m __________, and I’m here to talk to you about Meteor.
  2. Today we’re going to do a broad overview of Meteor. [speak through the list] So let’s get started!
  3. What is Meteor?
  4. [time bullets with *] Meteor is a full-stack, open source platform for building web and mobile apps in JavaScript *With Meteor you can write your whole app in pure JavaScript, frontend and backend. *And from that single JavaScript codebase, you can target iOS, Android, and the web. *Meteor is made of packages and is MIT-licensed, so it is very open and extensible. *And because of its design and tooling, you can get started and productive very quickly. *For example, the app pictured on the right is a demo that implements a collaborative mobile app in less than 1000 lines of js.
  5. In short, the goal of Meteor is to allow you to build advanced apps quickly, with a small team – allowing even individuals to achieve things that used to be possible only at large companies like Google and Facebook.
  6. So how does Meteor do this? Let’s step through some of Meteors components It has a command line tool, which allows you to create, edit, and deploy apps It has a view layer, which by default is Meteor’s Blaze package, but you use any framework you want, such as Angular, React, or Famous Livequery takes a production database like MongoDB and transforms it into a real-time database. You can think of it like an open-source version of Firebase Meteor has a full-stack package system that coordinates server, client, and mobile codebases and is hosted on atmospherejs.com And it has a build system that includes not just client and browser but also mobile
  7. Everyone here probably has a framework that they are already comfortable in. So why would you want to consider trying Meteor?
  8. To begin with, table stakes for app functionality have changed a lot over the last 5-10 years. We went from a place where all users came to sites on *desktop* browsers to where the majority now arrives on mobile. We went from where we didn’t mind hitting the refresh button to get updates to where we expect to be notified live. We went from being a group of individuals consuming content to being a collaborative team that can create and change that content together. And we went from a simple web of links and forms to where we expect our web apps to have a UI that’s as good as native apps.
  9. This started with apps like Twitter, which notifies you with this scrolling alert when there are new tweets in a conversation. This is pretty easy to do in most frameworks by polling the server, and it’s OK if the notification comes a few seconds after the new tweets come in. But things have become more complicated…
  10. This is Trello. We have two users, one on top and one on the bottom. When the top user adds some text and hits enter, the other user immediately sees that text appear as a card. Then the first user can drag that card and the user of the bottom can see it move. Note that and this is a very sophisticated U with features like drag and drop. Also, these people may be talking live on the phone or maybe a hangout, so it’s important that the changes be reflected immediately. There is a lot going on here, and managing it can get really complex.
  11. In Trello’s own words: “We’ve bled all over it.”
  12. The problem is that we started with simple frameworks that were designed for the way the web used to be, and we are adding more and more tools to it, spending much more time integrating them. *This is why Meteor was created: to bring together a collection of well integrated tools, allowing you to build highly interactive apps with much less code.
  13. We are now able to understand how data flows through Meteor. When we hit enter and the code does an insert into the messages collection, it does so using something called a meteor method, The Meteor method sends the update over a websocket to the server, but it also updates minimongo… which pushes the data immediately to the DOM. This is called optimistic ui, and it makes the app feel really fast and responsive. Meanwhile, the message goes to the server, where the same insert runs, but here the server can authenticate the user and do other validation In most cases, the result is the same, so nothing will change. But say another user has added a message while ours was in flight. That message should go before ours. This will be propagated back through the websocket, and the optimistic update will be discarded and replaced with the data from the server. Meanwhile, this update is also pushed to all other subscribed clients using the same mechanism.
  14. So let’s review what we saw: On the infrastructure side, * we saw that it’s quick to install Meteor, build apps, and deploy them with free hosting. * We saw hot code push * We saw support for iOS and Android * And we saw full-stack packages, like accounts, which coordinate UI elements with front- and back-end code.
  15. On the framework side, *we saw reactive rendering, where Meteor rerenders the DOM using dynamic data. *We saw database synchronization between 2 clients and a server. *We saw Meteor’s intuitive, isomorphic API, where we were able to query with the same API on the client and the server, even though we were working with different packages. *And we saw how little code we needed to build a functional chat app.
  16. All of this adds up to the Meteor platform. It’s called a platform and not a framework because it encompasses an end-to-end solution for building apps completely with Javascript, including the full stack and all the tooling required to get from nothing to a complete web application.
  17. So, who is using Meteor?
  18. Here are some examples. 4 of these companies raised over $1 million in series A rounds, one was acquired by Box, a couple have exceeded 100k users in over 50 countries
  19. Let’s look at one of them Workpop is a job marketplace for hourly workers built on Meteor They were able to raise $8 million, and their key investor, Trinity ventures, said the pace of development was “fastest they’ve ever seen from an early stage company”
  20. Meteor also has a very strong community, with over 200 meetup groups worldwide – you can check them out at meetup.com [mention your local meetup]. The community is very active in discussions on the Meteor forum, and there now over 6000 packages in Atmosphere, the Meteor package repository…and that number is growing rapidly. Meteor has reached the top ten starred repos on Github and is likely to overtake Rails later this year. The community is really friendly and welcoming.
  21. But when you’re looking at a platform, you should also consider who is behind it, because you really want to know how it’s likely to develop and whether they will stand behind it.
  22. So let’s talk about the Meteor Development Group. One thing to pay attention to is that they are well-funded – they just raised a $20 million dollar round, and they are not in danger of disappearing anytime soon. This is actually really important, because a lot of times developers will make framework and then get hired away or acquired, and the framework stops developing. It also means that Meteor is being developed by full-time employees who came from companies Google, Facebook, and Asana You’ll want to understand Meteor’s revenue model. Meteor will have a service called Galaxy, which will allow you to `meteor deploy` directly to robust, high-availability clusters on services like AWS. The free service will continue to be free And the Meteor platform is MIT-licensed, so you can do what you like with it and can still host Meteor anywhere that can host node apps
  23. Let’s look at the latest developments. First, for 1.2 You can write your Meteor code in ES015, formerly known as ES6, so you can start using the latest in javascript. Angular and React will graduate from community-supported to fully integrated. You can remove Meteor’s Blaze completely if you like In the near future, we can look forward to full livequery support in SQL. You can of course use the node drivers for any existing database, and there are also community packages for Redis, Postgres, and others, but this will have the full support of MDG We’ll see the ability to support communication with other services through REST and other microservice architectures And we’ll see better support for large applications as well as the full integration of ES6 modules
  24. You can find learning resources at meteor.com/learn. Here are a few highlights: If you want to take Meteor for a spin, I’d try the official meteor tutorial. It takes only an hour or so, and it shows you how to do everything I showed you - and a few other things - in more detail. You can find the full Meteor API at docs.meteor.com The Meteor community is very active and has group discussions at forums.meteor.com There’s a great book on Meteor called Discover Meteor. One of the authors also created the first Meteor community package manager and now works at Meteor And if you have how-to questions, be sure to check out stack overflow with questions tagged meteor
  25. If you want a good sample app to play around with in Meteor, you can download either of these from the command line using the Meteor tool to-dos shows how to build a collaborative app that demonstrates access control and is responsive to desktop and mobile. And Local Market, which was pictured near the beginning of this presentation, is a mobile-optimized app – you can actually load it on your phone. It demonstrates social media integration with Twitter, camera integration, and how to build a beautiful UI with Meteor.
  26. So, that’s it! I’d like to thank you for your time, and I’d like to know if you have any questions.