f3.js
For those who create Internet of Things by code.

English?

IoTコンテンツを作ろう!

f3.js(エフスリー)は、JavaScriptのコードを一つ書けば、IoTコンテンツを手軽に制作できる統合開発環境です。JavaScriptのプログラミングができれば、マイコン・小型コンピュータ用のプログラム開発と、アクチュエータやセンサを安定して支えられる筐体の設計を一度に行うことができます。

プログラミングができなくても心配ありません。誰かが書いておいてくれたJavaScriptのコードを、スライダーやチェックボックスなどのGUIで簡単にカスタマイズしてIoTコンテンツを制作できます。指定された部品を購入し、筐体の設計図をFabLabなどで印刷すれば、まるでプラモデルのようにあなただけのIoTアプリケーションが完成します。

α版のテスト中

f3.jsは現在α版のテスト中です。テストにご協力いただきありがとうございます。今後の実装予定や既知の不具合は以下の通りです。もしほかに不具合やお気づきの点がありましたら加藤(@arcatdmz)までご連絡ください。

実装予定

  • 複数枚のアクリル板に分けて印刷できるようにする
    v0.1.3
  • エディタカーソル位置の印刷結果をプレビュー上でハイライト
    v0.1.4
  • f3.js CLI(コマンドラインツール)
    v0.2.4
  • 3Dプリンタ用データなど外部URLへのリンクを足せるようにする
    v0.2.6
  • レイアウトマネージャ(BorderLayout, FlowLayoutなど)
    v0.2.7
  • 組み立てガイドの印刷(対応する辺同士に同じラベルを表示)
    v0.2.8
  • 組み立て説明ページ(部品購入から組み立て、実行までの支援)の作成
    v0.2.9
  • 対応するnpmモジュールがないレイアウト情報も登録できるようにする
    v0.3.0
  • 印刷プレビューにコンポーネントをドラッグ & ドロップで配置
    v0.3.0
  • Visual Studio Code用プラグイン
    v0.4.0
  • extrudeした立体の3D表示
    v0.4.0
  • f3.js IDE(ブラウザ不要でf3.jsが使えるようになる実行ファイル)
    v0.5.0
  • レーザーカッター以外(厚紙プリンタ)のサポート
  • SVGデータのインポート

既知の不具合

  • f3.jsからダウンロードしたPDFをレーザーカッターで出力した際に、塗りが彫刻されない場合がある
  • ウィンドウサイズを変えたとき、スライダーの幅が変わらない
  • モジュール定義に何も変更がない場合でもrevision idがインクリメントされる

更新内容

v0.2.9 (2016/9/12)
各プロジェクトページ下部の組み立て方説明を拡充した。モジュール同士が筐体上で干渉するとき警告(赤枠)を出せるようにした。
v0.2.8 (2016/9/9)
展開図上で、隣接面の対応する辺にラベルを表示できるようになった。
v0.2.7 (2016/9/7)
v0.2.6 (2016/9/6)
プロジェクトに動画や画像の外部リンクを足せるようにした。文字列定数をエンドユーザがカスタマイズできるようになった。
v0.2.0 (2016/6/16)
α版一般公開。
v0.1.0 (2016/3/7)
α版初公開

これよりも詳細な更新履歴はdocs.f3js.org をご覧ください。

最新情報

東京大学 2016年度「ユーザインタフェース」講義

2016/9/6

プログラミング環境に関する講義を行い、実習としてf3.js(バージョン0.2.x)を用いてIoTアプリケーションの開発を行ってもらいました。

情報処理学会 インタラクション 2016

2016/3/4

登壇発表を行いました。また、招待者限定でf3.jsのα版(バージョン0.1.0)公開を始めることを告知しました。

JS Board Shibuya LTナイト!

2015/12/14

ライトニングトークでf3.jsの概要を紹介しました。

日本ソフトウェア科学会 WISS 2015

2015/12/14

初めて国内でf3.jsを紹介しました。デモ展示を行いました。

国際会議 ACM UIST 2015

2015/11/9

初めて対外的にf3.jsを紹介しました。所内ワークショップの成果を含めデモ展示を行いました。

機能追加や設備点検に伴うサービス停止等のアナウンスはTwitterアカウント @f3jsorg でも行っています。