無限大な夢のあと

テニスとアニメが大好きな厨二病SEのブログ

【書評】Bootstrap 4 フロントエンド開発の教科書 ( @yyamada )

WINGSプロジェクトの書籍レビュアーに応募し、献本してもらったので、書評を書きました。
今回は表題にある通り「Bootstrap 4 フロントエンド開発の教科書 」の書評となります。

Bootstrap 4 フロントエンド開発の教科書

Bootstrap 4 フロントエンド開発の教科書

来月にWebのフロントエンドを実装するので参考にさせていただきたいため、書評レビューアーに応募しました。

では早速、本題のレビューをさせていただきます。

まず、書籍にざっと一通り目を通した感想をものすごく端的にいうと、
「実業務でBootstrapで画面を作る際のリファレンス」という印象です。
昔にBootstrap2/3と必要な時に公式ドキュメントをさらっと読んで2-3画面作ったくらいなので、これだけまとまっていると嬉しいと感じました。

簡潔に書籍の「良かった点」、「改善点」をまとめます。

良かった点

  • (これが一番よかった点) モックアップからBootstrapを使って画面を作っていくプロセスを追う章があること
  • 配色の違いがわかるように、必要な箇所はカラーになっていること
  • Bootstrapのカスタマイズをする章があること
  • Bootstrapの歴史から説明していること
  • 概念の説明などがとても丁寧なこと


「改善点」

  • 厚さ的に厳しいかもしれないですが、モックアップの章がもう1章欲しかったこと
  • Bootstrap4の標準パーツでは実現が難しい実装の紹介の章が欲しかったこと

来月からWebのフロント画面の実装をがっつりやることになるので、活用させていただきます。

以上、レビューとなります。

Bootstrap 4 フロントエンド開発の教科書

Bootstrap 4 フロントエンド開発の教科書

速習Vue.js 速習シリーズ

速習Vue.js 速習シリーズ

基礎から学ぶ Vue.js

基礎から学ぶ Vue.js

【書評】速習 React ( @yyamada )

WINGSプロジェクトの書籍レビュアーに応募し、献本してもらったので、書評を書きました。
今回は表題にある通り「速習 React」の書評となります。

速習 React 速習シリーズ

速習 React 速習シリーズ


今月からWebのフロントエンドを実装するので参考にさせていただきたいため、書評レビューアーに応募しました。

では早速、本題のレビューをさせていただきます。

まず、書籍にざっと一通り目を通した感想をものすごく端的にいうと、
「Reactを速習で学ぶと言う意味では良い書籍」という印象です。

3章に出てきたJSX自体知らなく、初めてのReact入門の書籍だったため、速習で一通り触れられた印象です。

簡潔に書籍の「良かった点」、「改善点」をまとめます。

良かった点

  • 速習と言う名の通り、フォームや状態が変わるサンプルの章の説明が合ったこと
  • サンプルをそのまま動かせるように説明する内容ごとにサンプルコードがあること
  • 関数コンポーネントよりクラスコンポーネントを使う例など、著者としてのオススメの方法と理由が記載されていたこと

以上、レビューとなります。

Bootstrap 4 フロントエンド開発の教科書

Bootstrap 4 フロントエンド開発の教科書

【書評】3ステップでしっかり学ぶ Python 入門 ( @yyamada ) 

WINGSプロジェクトの書籍レビュアーに応募し、献本してもらったので、書評を書きました。
今回は表題にある通り「3ステップでしっかり学ぶ Python 入門 」の書評となります。

Pythonの経験が全くないので、良い機会だなと思い書評レビューアーに応募しました。

では早速、本題のレビューをさせていただきます。

まず、書籍を読み終えた感想をものすごく端的にいうと、
「プログラミング経験のない人が読む最初にPythonを学ぶ1冊としてすごく良い」という印象です。
新卒でJavaの研修を受けた時を思い出しました。

簡潔に書籍の「良かった点」をまとめます。(今回特に「改善して欲しい点」はないです。)

良かった点

  • プログラミング経験のない人がつまづく環境構築について、Windows/Mac共にスクリーンショット付きで丁寧に解説している
  • 最近流行り(?)のVisual Studio Codeを使って、説明をしている
  • 章ごとに練習問題を準備していて、理解度を確認できる


個人的に、スライスなどの概念はGolangで初めて知ったのですが、Pythonから来ていたんだなぁと思いました。

また、プログラミング未経験だけれども業務効率化したいと言っていた友人に以下の書籍と共に進めようと思いました。


以上、レビューとなります。

独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

【書評】速習webpack ( @yyamada ) 

WINGSプロジェクトの書籍レビュアーに応募し、献本してもらったので、書評を書きました。
今回は表題にある通り「速習webpack 」の書評となります。

速習webpack 速習シリーズ

速習webpack 速習シリーズ

最近は業務ではiOSでネイティブアプリの開発を1年ほど行なっていて、Webフロントの方はからっきしだったので、今回を機会にJSのエコシステムの流れを掴みたくて、書評レビューアーに応募しました。

では早速、本題のレビューをさせていただきます。

まず、書籍を読み終えた感想をものすごく端的にいうと、
iOSの画面開発において、手元に置いておくと細かいプロパティの動作を確認できる細かい所に手が届く便利君」という印象です。

簡潔に書籍の「良かった点」をまとめます。(今回特に「改善して欲しい点」はないです。)

良かった点

  • Introdutionの説明で、モジュールハンドラーが必要になった経緯などから紹介していて、初心者にも優しい内容になっている
  • 図がふんだんに使われていることで、視覚的にも理解しやすい
  • 速習WebPackとあるが、かなり詳しく内容を説明していて、リファレンスとして使えそうな内容になっている
  • 最近だとよくあるBabel+Reactの組み合わせなどの設定方法もある
  • 開発/本番用の設定などしっかり現場で使うことを意識して作られている


具体的に現時点で業務でWebで何かする予定はないのですが、ReactNativeは未だ触れていないので今回をきっかけにWebPackで環境構築して簡単なアプリを作ってみようと思いました。
JSのエコシステムは流れが非常に早いので、今回の書籍をぜひ活かしたいと思います。」

以上、レビューとなります。

【書評】[改訂新版]Swiftポケットリファレンス( @yyamada ) 

WINGSプロジェクトの書籍レビュアーに応募し、献本してもらったので、書評を書きました。
今回は表題にある通り「[改訂新版]Swiftポケットリファレンス 」の書評となります。

[改訂新版]Swiftポケットリファレンス (POCKET REFERENCE)

[改訂新版]Swiftポケットリファレンス (POCKET REFERENCE)

私のモバイルアプリ開発のバックグラウンドを説明しますと業務ではiOSでネイティブアプリの開発を1年ほど行なっています。

では早速、本題のレビューをさせていただきます。

まず、書籍を読み終えた感想をものすごく端的にいうと、
iOSの画面開発において、手元に置いておくと細かいプロパティの動作を確認できる細かい所に手が届く便利君」という印象です。

簡潔に書籍の「良かった点」と「改善して欲しい点」をまとめます。

良かった点

  • iOSのレイヤの説明など冒頭からしっかりした説明をしてくれて、全体像を改めて理解できた
  • 自分が今まで作ったことのない画面の種類については、このリファレンスを見れば大体作ることができるくらい内容がしっかりしている
  • 図が使われていることで、視覚的にも理解しやすい
  • 動画、位置情報、カメラなどアプリでよく使う機能もカバーされている
  • 大量のサンプルコードがあり、活用をすることができる

改善して欲しい点

  • プッシュ通知、課金、復帰処理など通常のアプリでも使うような内容の機能の説明があると尚良かった
  • WebViewに関して、WKWebViewではなく、UIWebViewの説明が載っているなど改訂前の影響を受けて微妙に古い内容だったりした
  • UIに特化したリファレンスとしてはInsetやOffsetといったような実務で困る点についても記載が欲しかった
  • バージョン別のバグなどの罠も注記が欲しかった(例: iOS9,10でWKWebViewでPostをした時に、httpBodyが空になるなど)

個人的には今回の書籍はUIに特化したリファレンスとして、機能に特化したリファレンスを別途出してくれると嬉しいなと思いました。
また、自分的に気づいた細かい点としては、

  • いつも混乱するmapのクロージャーの書き方の例が5パターン載ってたりするのは、Swiftの記述が少ない中でたまに混乱するけど検索に出てこなかったりもするので、地味に嬉しかったりしました。
  • map().filter()というサンプルだと、lazyつけましょうくらいのこともコラムに書いてあると初学者は理解が深まったりすると良いなとも思いました。

みたいなのもありました。

気づいた誤字
P100 書式の説明でflatMapの説明なのに、前ページのfilterを使っている

以上、レビューとさせていただきます。

Swift 4プログラミング入門 iOS 11+Xcode 9対応

Swift 4プログラミング入門 iOS 11+Xcode 9対応

【書評】基礎&応用力をしっかり育成! Androidアプリ開発の教科書 ( @yyamada ) 

WINGSプロジェクトの書籍レビュアーに応募し、献本してもらったので、書評を書きました。
今回は表題にある通り「基礎&応用力をしっかり育成! Androidアプリ開発の教科書 なんちゃって開発者にならないための実践ハンズオン 」の書評となります。

基礎&応用力をしっかり育成!  Androidアプリ開発の教科書 なんちゃって開発者にならないための実践ハンズオン (CodeZine BOOKS)

基礎&応用力をしっかり育成! Androidアプリ開発の教科書 なんちゃって開発者にならないための実践ハンズオン (CodeZine BOOKS)

私のモバイルアプリ開発のバックグラウンドを説明しますと業務ではiOSでネイティブアプリの開発を1年ほど行なっており、
Androidの開発経験は業務ではまだありません。

本題のレビューをさせていただきます。

まず、書籍を読み終えた感想をものすごく端的にいうと、
アプリ開発で気にするような細かいポイントを押さえていて、これを読みながら作りたいものを大体作れそうだけど、なぜサンプルがKotlinじゃないのだ。。。」
です。

簡潔に書籍の「良かった点」と「改善して欲しい点」をまとめます。

良かった点

  • 画面遷移、ライフサイクルなどのアプリ開発者が気にする点を押さえている
  • バックグラウンド処理、メディア再生、通知、GPS、カメラ、ストレージなどのアプリを作る上での機能について記載がある
  • ViewのComponentの使い分けなど細かい点についても言及されている

改善して欲しい点

  • サンプルコードが全てJavaなので、Android3.0からサポートされているKotlinでのサンプルコードであって欲しかった(切実)
  • 復帰処理などの話くらいまであると、尚良かった。
  • アーキテクチャー寄りの話にはなりますが、「Android Architecture Components」に言及して説明があるとより嬉しかった

PDFなどで続編として「改善して欲しい点」についても記載があるような書籍が出ることを切に願います。

そして、iOSアプリ開発を進めて詳しくなった観点で見ると、本当に細かく記載があって痒いところまで手が届く書籍なので、
自分で作ったiOSのアプリのAndroid版をこの書籍を読んで作成しようと思いました。

以上、レビューとさせていただきます。

Kotlinイン・アクション

Kotlinイン・アクション

Androidを支える技術〈I〉──60fpsを達成するモダンなGUIシステム (WEB+DB PRESS plus)

Androidを支える技術〈I〉──60fpsを達成するモダンなGUIシステム (WEB+DB PRESS plus)

Androidアプリ開発の極意 ~プロ品質を実現するための現場の知恵とテクニック

Androidアプリ開発の極意 ~プロ品質を実現するための現場の知恵とテクニック

【書評】HTML5とApache Cordovaで始めるハイブリッドアプリ開発 ( @yyamada ) 

WINGSプロジェクトの書籍レビュアーに応募し、献本してもらったので、書評を書きました。
今回は表題にある通り「HTML5Apache Cordovaで始めるハイブリッドアプリ開発」の書評となります。

HTML5とApache Cordovaで始めるハイブリッドアプリ開発 (CodeZine BOOKS)

HTML5とApache Cordovaで始めるハイブリッドアプリ開発 (CodeZine BOOKS)


私のモバイルアプリ開発のバックグラウンドを説明しますと、業務ではiOSでネイティブアプリの開発を行なっており、Androidの開発経験は業務ではまだありません。
JavaScriptのレベル感としては業務で少し触ったりする程度です。


本題のレビューをさせていただきます。

実際に起動ができるまで

開発環境

node -v
v8.7.0
  • npm
npm -v
5.4.2
  • jdkのバージョン
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

AndroidでBuildできるようになるまで

Androidではandroidコマンドが非推奨になった影響などで書籍に書いている方法ではうまく行きません。
私は以下のアプローチで解決できました。

brew tap caskroom/cask
brew cask install android-platform-tools

具体的には以下のandroidコマンドのインストールで失敗します。

 brew install android

こちらに関しては、

brew tap caskroom/cask
brew cask install android-platform-tools

で代わりに環境は構築できました。
また、androidコマンドを使おうとすると、以下の表示がされて、非推奨になっていることがわかりました。

*************************************************************************
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
Invalid or unsupported command ""

Supported commands are:
android list target
android list avd
android list device
android create avd
android move avd
android delete avd
android list sdk
android update sdk

Androidで起動できるまで

Androidを実行できるまでもandroidコマンドが非推奨の影響か、プラットフォームを追加する際にバージョン指定が必要になります。

cordova platform add android@6.2.3
cordova emulate android

また、今回の検証マシンでは元々Androidエミュレーターのパスを通したりして検証しましたが、ゼロから動かす際はここも調整が必要かもしれません。

実際にサンプルを動かして

Android自体は実機を持っていなかったのですが、iOSは実機が持っているので、こちらで実行したりしてサンプルを確認しました。
実機での起動は少し手順が必要ですが、そちらを終えるときちんと起動できました。
ただ、サンプル自体はそのまま動かず、plugin installが必要です。
また、全てのサンプルを動かしたわけではないですが、最初のcameraサンプル以外は動かないものが多かった印象です。
自分自身のライブラリの環境が最新であることも影響あると思います。

2017-10-15 18:20:43.793746+0900 Cdv4[431:36008] ERROR: Error: Can't find variable: device
2017-10-15 18:20:59.127256+0900 Cdv4[431:36008] ERROR: Error: Can't find variable: Connection

書籍を読んでみて

対象

書籍名にある通り、HTML+CSS+JavaScriptでWeb画面を作成できる人にとって、ハイブリッドアプリ開発の1歩目を学べる書籍だと思いました。
React-nativeなどだと、Reactを学ぶという過程をあるとは思いますが、今回のサンプルではそれも必要ではないので、Angularを使ってはいましたが、より入門者向けだと思いました。

全体的な感想

Cordova自体は初めて触ったのですが、Webと同じようなコードでそれぞれネイティブアプリを作成できるのはすごいなぁと思いました。
目次について、公式ページから引用させていただきます。
HTML5とApache Cordovaで始めるハイブリッドアプリ開発 - WINGS

第1章 Apache Cordovaで本格スマホアプリに挑戦しよう
第2章 Apache Cordovaでスマホアプリ開発を始める前の環境設定
第3章 カメラプラグインを使って、Apache Cordovaのサンプルアプリを作ってみよう
第4章 基本のプラグインを使ってハイブリッドアプリを作ってみよう
第5章 デバイスのファイルにアクセスするプラグインを使おう
第6章 ファイルを操作するためのプラグインで、テキストや画像をアプリ内に保存する
第7章 サーバへのファイルアップロード、ダウンロードを便利にするプラグインを使う
第8章 オーディオファイルの再生を便利にするプラグインを使う
第9章 マイクやカメラを使って音声・写真・ビデオデータを取得するプラグインを使う
第10章 カメラとアルバムから写真データを取得するプラグインを使う
第11章 連絡先データにアクセスするプラグインを使う
第12章 カレンダーの予定を管理するプラグインを使う
第13章 カレンダーを管理するプラグインを使って、予定の追加と削除を行う
第14章 Cordovaでアプリを公開するためのビルド方法をカスタマイズしよう
付録A プラグイン・参考資料

また、実際に作成するアプリで使いたいような機能の土台が一通り揃っているイメージで、仮にCordova自体を使わない場合でもハイブリッドアプリを作るに当たって参考になる書籍だと思いました。

[iOS/Android対応] HTML5 ハイブリッドアプリ開発[実践]入門 (Software Design plus)

[iOS/Android対応] HTML5 ハイブリッドアプリ開発[実践]入門 (Software Design plus)