Technote

by sizuhiko

Polymer.co-edo meetup #15 を開催しました

今年6回目となる Polymer.co-edo ミートアップ を開催しました。

今回の議題は

今回は Google I/O ‘18 で発表された PWA starter kit を使った、サンプルアプリを動かそう

ということで、Polymer3以降の技術で作り直されたサンプルアプリを動かしてみました。

PWA starter kit のURL

各自 PWA Starter Kitをダウンロードして、ローカルで実行しました。 特にはまりどころもなく、READMEどおり進めていけば大丈夫です。 動きを確認したあとは、私からどうなっているのか、という技術的な解説をしました。

PolymerというかLitElementの話がメインになって、reduxの解説までは時間が足りなかったのですが、 それはインターネットにたくさん情報があるので、私の解説よりはわかりやすいかな、と。

PWA starter kit から見える Polymer/Web Componentsの未来

Polymerが生まれた時点で 複雑なWebアプリを作るのは大変だ と言われていた状況は、 Web ComponentsやReduxによって、わかりやすいものになっていると思います。

PolymerはLitElementの裏に隠れていて見えませんが、もちろんPolymer3がLitElementを支えています。 今後もPolymerチームの動きからは目が離せませんね。

次回は

7/23(月) の予定です。Doorkeeperのコミュニティページに今年の予定も書いてあるので参考にしてください。

今回はPWA starter kit のハンズオンをやったので、できなかった lit-html の体験をしてみたいな、と思っています。

Brackets prettier 拡張を作ってみた

JavaScriptでコードを書くときは JS Beautifier を使ってフォーマットしていたのですが、 mizchi’s blog最近のフロントエンドのエディタ事情

フォーマッタは当然のように prettier が入る。もう選択肢はなくて、猫も杓子もprettier。すでに勝負は決している。

と書かれていたので、じゃぁprettier入れようと思ったのがきっかけです。

prettier を使うには

私がメインで使っているエディタは Adobe Brackets です。 vs-code にも atom にも拡張があるので、Bracketsでも誰か作ってるだろう… と思ったらありませんでした。 ここで考えたのが、以下アイデアです。

  • gulp-watch 使って、ファイルに変更があったら自動的に変換する
  • git の commit フックに仕込む
  • Bracketsの拡張作る
  • vs-code にエディタを変える

Brackets 愛が強すぎて拡張を作ってみることにした

まぁアレですよ。エディタの機能拡張といえば古くは(これはものすごく古い話)Emacsの拡張作ったり、Sublime使っていたころはpython使って拡張書いたりしていたので「エディタ拡張を作るとは」みたいな流儀はわかっていたつもり、でした。 そもそもBracketsの拡張ってatomやvs-codeとどう違うのか?と思って、atom版vs-code版のコードを見比べましたが「お・おぅ」となって、断念しました。 まぁBracketsってCEFベースだからなー(electronベースではない)、そもそもコードを流用とか考えない方が良さそうだ。

Brackets 拡張を作るのに参考になるサイト

とりあえず調べられた範囲が以下のとおり

  • 初めてのBRACKETS拡張機能の作成
    • 記事が2012年で大丈夫かぁ?と思ったが、終わってみれば何も変わっていなかった
  • How to write extensions
    • こちらは2015年に更新されていて、情報のメンテはされているようだ
  • Brackets API
    • 詳しいAPIの使い方が書いてある Show code が便利というか、それ見ないとわからないよ!

どうやって作るか

公式サイトにも書いてあります

For a quick start, you can paste in the Simple “Hello World” extension or the code from an existing extension that is similar to what you want to do.

「既存の機能が似ている拡張のコードを参考にすると良いよ!」(おまえドキュメントを書くということを放棄しているんじゃないだろうな…

参考にするもの

Brackets Beautifyという、最初にも紹介した JS Beautifier を使えるようにする Brackets拡張です。 普段この拡張を使っているので、参考にするにはもってこいです(機能もコードフォーマットという部分では似ている)。

いくつかの壁

Brackets Beautifyのコードは難しくなく、簡単に読めたのですが

  • これテストコードとか書けないの?(まぁ書けないに近い
  • ES6とか使えないの?
  • ファイル分割するベストプラクティスとかないの?

という部分が気になりました。 他の拡張のコードをいくつかみたりしましたが、まぁエディタの拡張って、ちょこっとした機能だから分割するまでもないんですよね、「わかる」みたいな感じ。

結果として

  • テストコードは諦めた(モックのテストになりそうだったので
  • ES6というとアレですが、 const let あたりは使えた。allow functionはエラーになってしまった
  • ファイル分割してみた!(ベストではないかもしれないが!!

Brackets Prettier 作ったよ!

そんなこんなで、Brackets Beautifyのコードを パクって 参考に、Brackets Prettier を作りました。

Brackets 拡張を作ったらやること

Brackets Extension Registryというところに登録しておくと、エディタの 拡張機能マネージャ からインストールできるので、世界中のBracketsユーザーが prettier と検索したら出てくるようになります。 で、レジストリへの登録方法は、公式WikiのExtension Registry Helpに書いてあるので、そのとおり作業を進めます。

で、登録するとBrackets拡張のBotアカウントがツイートしてくるんですね。知らなかった。

今後は

Brackets拡張の作り方わかったので、これからは俺得な拡張をもっと作っていこうと思います! とりあえずPolymer関係を作ろうかなー

cakephp-fabricate-adaptor を CakePHP3.6 対応しました

CakePHPのコア開発のメンバーでもある dakota が南アからPRをくれました。 最近は普段からCakePHP使っていないので、PRはとても助かります。 テストコードなかったので、たくさんビルドエラーになっていましたが、マージして、私の方で対応しておきました。

デフォルトのdevelopブランチから取得すると、CakePHP3.6の開発でも利用できます。

まだリリース切ってないけど、3.6以前と互換性なくなるので、バージョン番号の規則から言うと 0.x → 1.x にするしかないのかな。 もう少し見直してから(結果として何も変わらないかもしれないけど)1.0にしたいと思っていますので、しばらくお待ちください。

Co-Edoでエンジニア・Webデザイナー飲み会 『梅雨も初夏もばっちこい!恒例のケンタッキー🍗とビール🍺で疲れを吹き飛ばそうの会』 に参加してLTしました

Polymerそのものと、Polumer.co-edoでの活動(取り組み)について、LTをしました。

co-edoに集う人の中から参加者が増えると良いなーと思っています。

今月は6/25に PWA starter kit のハンズオンを予定しています。

Vivaldiジャパンツアー2018 #Vivaldi帰れま千 Vivaldiユーザープレゼン・交流会 in Tokyo 〜東京の中心で愛を叫ぶ〜 に参加してLTしました

5/29に開催された Vivaldiジャパンツアー2018 #Vivaldi帰れま千 に参加しました

古くからのOperaユーザーがほとんどでした。 中には母親から与えられたPCにOperaが入っていたという若手もいて、年齢を感じましたがw

Peatixのオフィスは恵比寿の、月に2度以上は目の前を通る場所でした(そこに入っているの知らなかった)。

みんないろんなTIPSを持っていて、すごいなーと思う反面、私はヘビータブ使い(500タブとか当たり前)なので、タブの話(要望)を。 標準でタブスタックできて、検索もできるんだけど、ウィンドウ横断でタブ検索できるようにしてほしい!というLTでした。

1年に一回ぐらいなのかな、ユーザーの集いがあるブラウザって良いですね。