Help us understand the problem. What is going on with this article?

Pebble 3.x を取り巻く開発環境

More than 3 years have passed since last update.

http://developer.getpebble.com/

いろいろ増えてきたのでまとめてみる。

用語

用語 説明
Pebble Classic 初代のPebble、Pebble Steel, プラットフォーム名は aplite
Pebble Time カラー対応したPebble Time, Pebble Time Steel, プラットフォーム名は basalt、SDK 3以上が必要
Pebble Time Round 丸型のPebble Time, プラットフォーム名は chalk、SDK 3.6以上が必要
Pebble 2 Pebble (Cassic)の後継、プラットフォーム名は diorite、SDK 4以上が必要
Time 2 カラー対応したPebble Timeの後継、プラットフォーム名は emery
Pebble Watchapp Pebble本体側で実行するアプリ、iOS/Android側のスマホアプリPebble appを使ってPebbleにインストールする。時計のような機能が限定されたものはWatchfaceと呼ばれる
Pebble (mobile) app AppStore, Google Playで配布されている公式のiOS/Androidアプリ、接続するPebbleやインストールするPebble Watchappを管理する、開発中のPebble Watchappをインストールするためにはデベロッパーモードを有効にしておく必要がある
Pebble C Pebble Watchappの開発でつかう
Pebble.js Pebble WatchappをJavascriptで記述できるフレームワーク
Simplyjs 簡単なPebble WatchappをJavascriptで記述できるフレームワーク
Companion Apps Pebble Watchappと連動するiOS/Androidアプリ、開発者がPebbleKitを使って作成する
PebbleKit iOS/Android側でPebble Watchappと連携するCompanion Appsを実装するためのSDK
PebbleKit JS PebbleKitのJavascript版、スクリプトはPebble mobile appが取り出し実行する
CloudPebble クラウド上のPebble Watchappの開発環境
Pebble appstore Pebble Watchappのアプリストア
Pebble Developer Portal Pebble appstoreで公開しているWatchappを開発者が管理するサイト

Pebble(Smartwatch)側

Pebble C

  • Pebble WatchappをC言語で実装する、Pebble 1.0からあるベースの開発環境
  • 基本的にPebble SDKと言えばこれを指すと考えて良いと思われる
  • Windows, Mac OS X, LinuxプラートフォームのSDK/toolchainが公開されている(Python依存)
    • Mac OS XはHomebrewでインストールできる
    • 各プラットフォームのエミュレータが用意されている
  • SDKをインストールしなくてもブラウザ上で開発できるClouldPebbleがある
  • Pebble ClassicでPebble SDK 3.0以上でビルドしたWatchappを実行するにはFirmwareが2.9以上が必要
    • Pebble ClassicのFirmware 3.xがリリースされTimelineなどがサポートされた、これに対応するにはPebble SDK 3.8以上が必要
  • C言語なので機種ごとに依存する対応は #ifdef で分岐する

Pebble.js

https://github.com/pebble/pebblejs/

  • Simplejsからの派生プロダクト
  • Pebble WatchappをJavascriptで実装するためのツールチェイン
  • ベータ版(2015/12時点)
  • ClouldPebbleからも利用できる
  • Pebble SDKを使って開発する場合は https://github.com/pebble/pebblejs/ のプロジェクトをforkしてsrc/js/app.jsを変更して使うことができる

Simplyjs

http://simplyjs.io/

  • シンプルなPebble WatchappをJavascriptで実装するためのツールチェイン
  • 0.3ではテキスト表示や、バイブレーションなどが実行できる
    • 表示するテキストの位置などはだいたい決まっており自由なユーザインタフェースは実装できない
  • 派生プロダクトのPebble.jsがあるため、もう機能追加はされないと思われる

Rocky.js

https://pebble.github.io/rockyjs/

  • Pebble FirmwareにJavascript Runtimeを載せようとするプロジェクト
  • Pebble.js/SimplyjsはjavascriptのプログラムからPebble Watchappバイナリファイルを作成するプロダクトであるのに対して、Rocky.jsはjavascriptのプログラムを直接Pebble本体で実行することを目指している

Mobile(Smartphone, Tablet)側

PebbleKit

  • PebbleKit iOS, PebbleKit Androidが公開されている
  • 開発者が自作のiOS/AndroidのネイティブアプリにPebble Watchappとやりとりする機能を実装できる
    • Pebble Watchapp側からはそのようなネイティブアプリをCompanion Appsと呼ぶ
  • ネイティブアプリを用意しなくても済むPebbleKit JSがある

PebbleKit JS

http://developer.getpebble.com/docs/js/

  • iOS/Android側のPebble appで実行し、Pebble Watchappへデータを送る処理をJavascriptで実装するためのフレームワーク
  • Pebble Watchapp単体で出来ないクラウドからデータを取得するような実装を追加することができる
  • スクリプトはPebble Watchappに含め、Pebble appが取り出し実行するので別途ネイティブアプリを配布しなくて良い
    • ただしAppleがインターネットからダウンロードしたコードの実行を禁止しているため、iOSでは回避策として全てのWatchappのJSコードをPebble appに含めるという方式をとっている。したがって公式のPebble appが更新されるまでiOSではリリースしたPebble Watchappが公開されない
    • このPebble appの更新日は Pebble JS Bundling Updates で公開されている
  • Pebble WatchappをJavascriptで実装するためのツールチェインではない
    • その目的のものは Simplyjs や Pebble.js の方

IDE等

CloudPebble

https://cloudpebble.net/

  • Pebble Watchappを開発するためのクラウド上のIDE
  • C言語だけなくPebble.js、Simplyjsにも対応している
  • GitHubと連携することでリポジトリ管理もできるらしい
  • Pebbleシミュレータを実行できる
  • スマホのIPアドレスを入れることでPebble実機にインストールできる

Atomエディタ

https://atom.io/

  • pb-completions パッケージを使うとPebble Cのコード補完ができる

Watchface Generator

Pebble Dash Docset

MacのDash (Docs & Snippets)アプリ用のドキュメント。

Preferences > Downloads タブから + で以下のURLを追加してダウンロード。

http://partlyhuman.github.io/PebbleSdkDocset/Pebble.xml

参考: SDK Documentation in Dash Docset

その他

Pebble appstore

Pebble appstore

https://help.getpebble.com/customer/portal/articles/1701779-pebble-appstore

  • Pebble Watchappの公式なアプリストア
  • 2014年2月ごろから公開
  • Pebble app内から表示できる
  • 有料販売には対応していない
  • Pebble WatchappにはAndroid, iOSをサポートしているか、Companion Appsがあるか、などが情報で表示される
  • 公開地域(国)を選択する機能はなく全世界のPebble Watchappが並ぶ
  • Pebble appstoreは国際化に対応していないため基本的にPebble Watchappの説明は英語で記述する
    • それを気にせず母国語で説明を記述している開発者もいる
  • Pebble Watchappは .pbw ファイルを公開することでPebble appstore以外で配布することは可能
  • Pebble appstoreが後発であったためMy Pebble Facesのような非公式なギャラリーが存在する

Pebble Developer Portal

https://dev-portal.getpebble.com/

  • 開発者がPebble appstoreにPebble Watchappを公開する際に利用するサイト
  • ここからPebble Watchappをアップロード(提出)したり、アプリの説明を記述したりする
  • Pebble Appstore Guideがある
  • 個々のPebble Watchappのパーマリンクが存在し、通常のブラウザで開くことができる
    • 開発者は自身のサイトで紹介ができる
    • Pebbleを購入する導線が用意されている

まとめ

  • Pebble Watchappの開発環境の構築は多少面倒なのでまずはCloudPebbleを試してみるのが吉
    • Mac OS XではHomebrewでPebble SDKがインストールできるようになり多少敷居は下がった
  • スマホ側で実行する機能をJavascriptで書くものがPebbleKit JSでPebble側で実行する機能(Pebble Watchapp)をJavascriptで書くものがPebble.js
  • Simplyjsの機能で済むなら、Simplyjs + PebbleKit JSを使いCloudPebbleで開発するのが一番手っ取り早い
  • C言語の実装に抵抗がある場合はPebble.js + CloudPebbleを選ぶのも手、Beta版のリスクとのトレードオフ
  • 既存のiOS/AndroidアプリのコンテンツをPebbleで表示したい場合はそのアプリのプロジェクトでPebbleKit iOS, PebbleKit Androidを利用して実装する
  • クラウドでの開発に不安がある場合やエディタやソース管理を自分の方法で行いたい場合などはSDKを使って開発すればよい
  • 単純な時計は Watchface Generator を使えば開発環境は不要
  • Pebble Watchappを配布する環境として公式なPebble appstore、Pebble Developer Portalが用意されている
  • Pebbleのプラットフォームが増えたためエミュレータが重宝する
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした