プログラミング
Vue.js入門者にオススメの教材6選(書籍と無料YouTube動画講座)
はじめに
最近ウェブアプリを作ったりしていて、先日はbEdit(ベディット)というウェブサービスを公開しました。今まであんまりしっかりとJavaScriptのフロントエンドを作ったことがなかったので、ウェブサービスという形にまとめるには色々勉強が必要でした。
フロントエンドを作成するための便利なフレームワークは色々ありますが、「何となく流行っているから」という理由で、bEdit(ベディット)でははVue.jsを使って作っています。ビーフはAngularもReactもやったことがない人間なので、他と比べてどうこうということは語れませんが、初心者目線で特に役立ったと思った教材を紹介していきたいと思います。
bEdit(ベディット)の詳細については下の記事をご参照ください。
Vue.jsの基礎
書籍
公式サイトもいいんですが、最初に勉強するには取っ付き難かったので、まずはまとまった情報を得るために書籍を読み漁りました。分からない部分はそこそこの理解のままとりあえずそれぞれ電車の中で2周ずつくらいして、Vueの全体像を把握することができました。
速習Vue.js 速習シリーズ
kindle unlimitedで無料だったのでとりあえず読んでみました。サクッと読むにはちょうどいい文量です。有料で売ってる本と比べると内容的にはあっさりですが、Vueの基本的な仕組みであるデータバインディングやディレクティブをの使い方などを学ぶことができます。
Vue.js入門 基礎から実践アプリケーション開発まで
次にこちら。上の「速習〜」よりも体系的に学ぶことができます。Vuex/Vue RouterといったVueでちょっと大きめのアプリを作る際に使う標準ライブラリの説明、最近ちらほら名前を聞くAtmic Designによるコンポーネント設計などについても説明があり、網羅的に知識をつけることができます。
動画
Vue JS Crash Course - 2019
Traversy MediaというYouTubeチャネルの動画です。一からToDoリストアプリをVueで作っていく様子が全部見れます。英語も聞き取りやすい速度ですが、コードが全部見れるので仮に聞き取れなくてもVueの基礎的な知識があればついていけると思います。ビーフは書籍で理解した気になっていても、実際にモノを作るときに手が止まってしまうタイプなんですが、この動画のおかげでVueの各機能の具体的な使い方のイメージを掴むことができました。
Vuex Crash Course | State Management
同じ人の動画です。こちらの動画はVue標準の状態遷移ライブラリVuexの使い方に焦点を当てています。
Vue.jsの周辺知識
Vuetify
VuetifyはGoogleの提唱するマテリアルデザインをVue.jsで使いやすくしたCSSフレームワークです。ちょっとした手間でカッコいいUIを作るのに便利です。
Vuetify Tutorial
The Net NinjaというYouTubeチャネルのシリーズです。プロジェクト管理ソフトを作りながらVuetifyの使い方を解説していきます。一本一本は短いですが、全32本の動画はボリュームたっぷりです。Vuetifyだけでなく、FirebaseのFirestoreを使ったログイン/データ保存までやりますので実践的な内容が学べます。Vueの基礎は分かっている前提で話が進むので注意が必要ですが、まぁ大体の部分が分かっていれば何とかなると思います。
PWA
細かい話になりますが、VueでPWAを導入する際にちょっと苦戦した時に助けられた動画を最後に紹介します。またまたTraversy Mediaさんの動画です。VueとIonicを使ったPWAアプリの使い方を解説した動画です。Ionicの部分は必要なかったので丸っと飛ばしてみましたが、PWAの設定ファイルの置き場所や書き方は非常に参考になりました。Ionicもいつか使いたいですね。
おわりに
この記事ではVue.js初心者にオススメの教材を6つ紹介しました。ビーフはこれまであまりフロントエンドに縁の無い人間でしたが、これらの教材のおかげでなんとかそれっぽいものを作ることができました。まだまだ勉強しないといけないことはたくさんあると思いますが、最初の取っ掛かりの部分を理解していくには非常に参考になる教材だと思いますので、良ければ是非ご活用ください。
プログラミング
Electron/Node.jsのABIバージョンの一覧と動的に取得すつためのモジュール
はじめに
Electronでアプリを作っていると、使っているモジュールの再ビルドなどが必要になるケースがあります。その際にはElectronとNode.jsのABIバージョンの情報が必要になります。
このABI (Application Binary Interface : アプリケーション・バイナリー・インターフェイス)のバージョンはElectronとNode.jsのバージョンで定められているのですが、情報が探し難かったので自分のための備忘録を兼ねてこの記事でまとめたいと思います。
ElectronのABIバージョン一覧
ElectronのリリースノートなどにもABIバージョンに関する記載がなかったので、一覧にしました。基本的にはElectronのメジャーバージョンで一意に決まるようですが、Electron 4.x.yだけマイナーバージョンでもABIバージョンが更新されているので注意が必要です。
Electronバージョン | ABIバージョン |
---|---|
2.x.y | 57 |
3.x.y | 64 |
4.x.y | <4.0.4未満> 64 <4.0.4以降> 69 |
5.x.y | 70 |
6.x.y | 73 |
7.x.y | 75 |
8.x.y | 76 |
9.x.y | 80 |
なお、この一覧は後述のnode-abiパッケージ内の情報を参照しました。
Node.jsのABIバージョン一覧
Node.jsに関しては、公式のリリース一覧を見れば確認することができます。「NODE_MODULE_VERSION」という列がABIバージョンだという説明があります。
[1]:
https://nodejs.org/ja/download/releases/#ref-1NODE_MODULE_VERSION
は、Node.jsのABI(アプリケーションバイナリインタフェース)のバージョン番号を指します。このバージョンは、再コンパイルすることなくC++アドオンのバイナリーをロード可能か確認するために使われます。
ABIバージョンを動的に取得するモジュール
ビルドの自動化などのために、動的にABIバージョンを取得して利用したいケースもあると思います。node-abiを使えばABIバージョンからElectron/Node.jsのバージョンを取得したり、逆にElectron/Node.jsのバージョンからABIバージョンを取得することができます。
プログラミング
使ってみて便利だったFlutterパッケージ4選
Flutter/Dartには様々な便利なパッケージが公開されており、うまく利用することで開発の工数を大幅に削減することができます。この記事ではAndroid/iOSアプリをFlutterで開発した際に便利だったパッケージを紹介します。
cached_network_image
アプリを作っているとインターネット上から取得してきた画像を表示しなければならないシーンがあります。そういった場合、ネットワーク状態が不安定だったりサーバ側からの応答が遅かったりと、ローカル画像表示では問題にならない様々なトラブルを想定しなければなりません。
cached_network_imageはネットワーク上から画像を表示する場合に便利なパッケージです。ロード中のプレイスホルダー表示や、画像ダウンロードに失敗した場合のエラー表示を下記のような形でスッキリと記載することができます。
ちなみにFlutter1.10.15からはFlutterのImageProviderに大きな変更があったようで、その環境で利用する場合には2019年12月現在はではRC版であるバージョン2.0.0-rcをを利用する必要があります。
(2020年1月更新) 2.0.0からrcが取れてめでたく正式バージョンになりました。これで気兼ねなく使うことができます。
flutter_launcher_icons
Android/iOSアプリを開発するときに意外と面倒なのがアプリアイコンの設定です。flutter_launcher_iconsは、アイコン画像ファイルを一枚配置してコマンドを叩くだけでこれらの設定を完了してくれるという便利パッケージです。
まずpubspec.yamlでアイコン画像の指定を行います。ちなみにflutter_launcher_iconsはFlutterアプリに組み込むパッケージではないので、dev_dependanciesとして導入すればいいみたいです。僕は普通のdependanciesに入れてしまいましたが普通に動きました。
あとはコマンドを叩くだけです。ターミナルで次のようにコマンドを入力するだけです。アイコンファイルを更新した場合ももう一度このコマンドを叩けば上書きしてくれます。
webview_flutter
Flutterアプリ内部で特定のウェブページを開きたい場合があります。アプリのプライバシーポリシーなどは、誰でも見れるようにウェブ上に公開する必要があることに加えて、アプリ上でも表示してあげないといけません。ウェブページ+WebViewを活用することで工数を抑えつついい感じの実装ができます。
webview_flutterはWebViewを利用するためのパッケージです。iOS向けにはWKWebView、Android向けにはWebViewが内部的には使われているようです。2020年1月現在Developers Preview扱いではありますが、使っている限りでは普通に使えます。
url_launcher
WebViewは凄く便利な仕組みですが、外部アプリで特定のURLを開きたいケースもあります。例えばAmazon アソシエイトはAmazonのウェブページをWebViewで表示することを禁じているので、AmazonのページはブラウザかAmazonショッピングアプリで開くようにしないといけません。
そんな場合に便利なパッケージがurl_launcherです。一般的なhttp/httpsから始まるURLであればデフォルブラウザで開いてくれます。またAndroidの場合はカスタムURLスキームにも対応しているようで、Amazonショッピングアプリが入っている状態ではきっちりAmazonショッピングアプリでURLを開いてくれます。
この他、mailto/tel/smsから始まるURIにも対応しており、それぞれメールアプリ/電話アプリ/SMSアプリと連携できるようです。便利。
なおiOSで利用する場合、forceSafariCVというオプションをfalseに指定しておかないとWebViewとして開くことになります。
プログラミング
Product Hunt(プロダクトハント)で気になったプロダクト 2019年11月1日( Hexometer/Previewmojo/Startup Gifs)
Product Huntはユーザー投稿型のサイトで、作成したプロダクトに関する概要を投稿することができるようになっています。投稿に対してはユーザーが投票できるようになっており、日毎/週毎/月毎にその日のNo.1のプロダクトが決定され、Product Huntで上位になったプロダクトはちょっとした箔が付く感じになります。
Product Huntで11月1日に投稿されたプロダクトのうち、個人的に気になったものをいくつか紹介していきます。
Hexometer
概要
Hexometerはウェブサイトの解析・モニタリングツールです。AI技術と2800ものデータポイントを利用してウェブページを解析してくれるというのがウリです。他の多くの解析ツール同様、URLをスキャンを入力するだけで、解析結果をわかりやすく表示してくれます。
使い方
URLを入力して解析結果を見るだけなのでとても簡単です。見られる情報には下記のようなものがあります。画像は全て当ブログのトップページのURLを入力したときのものです。SEO対策に役立ちそうな情報が色々得られるので、
ドメイン/Whoisデータ
ドメインを取得した日だったり、そのドメインの有効期限まで分かります。
ページのアセット内訳
ウェブページを構成する画像ファイル、Javascriptファイル、CSSファイルなどの占める容量を表示してくれ、総合的な表示の速さを教えてくれます。ウェブページをダイエットさせて高速化させるときの勘所が大体分かりそうです。
ウェブページのロード時間内訳
ウェブページをロードする際にかかっている時間の内訳を見ることができます。通信時のラウンドトリップタイムやサーバのレスポンス時間も確認できるので、これもウェブページの高速化に役立ちそうです。
ウェブサイトで使われている技術スタック
ウェブページで使っている技術スタックがざっくり分かります。ライバルのページが何か面白いギミックを入れているときには、そのページが使っているものなんかを調べるのにもいいかも知れません。
メタデータチェック
メタデータが正しく埋め込まれていないページを探し出してくれます。
料金プラン
料金プランは下記のようになっており、無料プランでは解析できるウェブサイトの数が1つに限定されます。ベータ版として提供されているためか、今時点では普通に複数のウェブサイトの確認が可能でした。有料プランとしては月額8.25ドル(年払いで一括99ドル)のビジネスプランが用意されています。また解析可能なURLの数を任意に設定できるプレミアムプランも用意されています。
Previewmojo
概要
PreviewmojoはソーシャルメディアなどでURLを共有するときに作られるOGP画像をいい感じに生成してくれるツールです。ウェブページの内容を自動で解析して必要な情報をOGP画像として描画してくれます。読むのにかかる時間の目安を表示してくれる機能なんかいいですね。
使い方
デザイン
ウェブページ上で画像のデザインを設定します。簡単なレイアウトやブランドカラーなどを設定可能です。
ウェブサイトへの埋め込み
ウェブサイトに埋め込むためのコードを挿入します。Wordpress用、Ghost用の他、ピュアなHTMLで記述されたものも用意されています。Product Hunt上の質疑によれば、近いうちにWordpressプラグインも作りたいと考えているようです。
料金プラン
料金プランは下記の通りです。ドメイン1つであれば月額9ドル。5つまでのProプランは月額19ドル。年払いでさらにお得になります。
Startup Gifs
概要
Startup Gifsはスタートアップ関連?の面白Gifアニメを集めたコレクションです。
使い方
好きなGifをクリックするとクリップボードにGiphyのリンクがコピーされます。GiphyのリンクはSlackなどに貼れば自動で描画されますので、スタンプのようにして利用することができます。
-
アメリカ生活6年 ago
【必見!】サンフランシスコ国際空港内で買えるオススメのお土産!定番から変わり種まで。
-
ガジェット【PR】3年 ago
【2021年7月最新版】Elgato Stream Deckの代替品6選 / 安価なプログラマブルキーボードやスマホアプリなど
-
ガジェット【PR】5年 ago
オススメのWearOS用ウォッチフェイスアプリ(文字盤アプリ)4選
-
雑記・その他【PR】4年 ago
Affinity Designerでクリッピングマスクを使って写真を切り抜く手順
-
アメリカ生活6年 ago
アップル本社でお土産を買うならココ!アップルパークビジターセンターとアップルインフィニットループで買えるオススメのお土産
-
アメリカ生活5年 ago
【まとめ】必見!シリコンバレー・サンフランシスコ界隈の人気お土産スポット5選
-
アメリカ生活6年 ago
【観光・お土産】スタンフォード大学ブックストアの概要とオススメのお土産を紹介
-
アメリカ生活6年 ago
他では買えないお土産がザックザク!Google本社はAndroid好きにはたまらないおすすめ観光スポット