【2014/10/27 更新】
誤字脱字等の訂正及びiOS 8.1&Xcode 6.1対応に関連する正誤表が、本書の出版元であるビー・エヌ・エヌ新社のページより公開されています。
3日前のSwift本の投稿に引き続き、
今回は全3冊中の2冊目が届きましたのでご紹介します。
タイトル:たのしいSwiftプログラミング
出版社 :ビー・エヌ・エヌ新社
発売日 :2014/10/24
URL :http://www.bnn.co.jp/books/7132/
本書を最初から読んでみて感じた印象ですが、
「これこそまさしく、私が求めていたSwiftの解説本だっ!」という感じです。
本書を集中して読み込んでいる際、気がつけば木下さんのペースに乗せられて楽しい気分になっている自分がいることに何度も気が付き、
「これ程まで飽きずに熱中できるプログラミング書籍が今までにあっただろうか?」と、私としてはその中毒性の高さ?に驚かされています。
本書を集中して読み込んでいる際、気がつけば木下さんのペースに乗せられて楽しい気分になっている自分がいることに何度も気が付き、
「これ程まで飽きずに熱中できるプログラミング書籍が今までにあっただろうか?」と、私としてはその中毒性の高さ?に驚かされています。
と言いますのも、
Swiftの文法(特にクラスの扱い)の理解がまだ未熟な私としましては、
iOS 8上で動かせるサンプルプログラム集としての色合いが強い布留川さんの本よりも、
冒頭からXcodeのPlaygroundのみを用いてSwiftの仕組みを優しく解説されている木下さんの本の方が、今の自分にマッチしていると感じたからです。
ここで語弊が無いようにお願いしたいのですが、
これは布留川さんの本の構成が悪いと言いたいのではなく、むしろその逆です。
具体的に言いますと私は、
今までの既刊のシリーズも含め本書に対し「iOS上で動かせるサンプルコード集」として、Swiftが登場する前のObjective-Cの時代から非常にお世話になっています。
ですので私の学習スタイルとしましては、
今回購入した木下さんの本でSwiftについて十分な理解を得られるようになってから、布留川さんの本に戻ってこようと思っています。
次に本書の内容についてですが、
一言で説明しますと「プログラミングの経験が全くない方でも理解できるように工夫しながら、Swiftを用いたプログラミングの仕組みを解説する」という表現になると思います。
実際に手に取ってご覧頂きますと、
プログラミング初心者の目線を意識した丁寧かつ分かりやすい解説が、親しげな話し言葉で最初から最後まで貫かれているのが分かるのですが、
今この記事をご覧になって下さっている皆様にも、木下さんの本の凄さをアピールできる要素があります。
それは、本書と連動したYouTubeでの解説動画です!
その一番最初の章となる動画を下に引用しましたので、ご興味のある方は是非ご覧になってみて下さい。
実際に手に取ってご覧頂きますと、
プログラミング初心者の目線を意識した丁寧かつ分かりやすい解説が、親しげな話し言葉で最初から最後まで貫かれているのが分かるのですが、
今この記事をご覧になって下さっている皆様にも、木下さんの本の凄さをアピールできる要素があります。
それは、本書と連動したYouTubeでの解説動画です!
その一番最初の章となる動画を下に引用しましたので、ご興味のある方は是非ご覧になってみて下さい。
Macから実際にXcodeのPlaygroundを操作してSwiftのコードを実行している様子が、本書の著者である木下さん自らが解説されていることが分かります。
このような動画での解説も合わせることで、書面での解説によるイメージや理解が従来よりも深まり、
またMacを持っていない方に対しては、これを機にiOSやOS Xのプログラミングに興味を持って頂くことにも繋がるのではないかと思います。
この動画の他にも、
木下さんはiOSアプリの画面のデザイン等についてもその手順を解説されていますので、
もし宜しければ上の動画の再生リストから、またはYouTubeに直接アクセスして頂く形で続きをご覧頂けましたらと思います。
・私のObjective-C経験について
話が変わるのですが、
つい最近になり、私はようやくSwiftの公式ブログのチュートリアル動画のアプリを実際に作ってみました。
上のスクリーンショットが、動画の手順を私がそっくりそのまま真似て作った「iOSの画像フィルタアプリ」になります。
ちなみに、
その際に使用している画像(iMac Retina 5Kディスプレイモデルのサイトトップの画像)については、「気になる、記になる…」様が紹介しているサイトからお借りしており、
またアプリの働きとしましては、「Apply Filter」ボタンを押すごとに画像の色彩が変わるようになっています。
これがどういったアプリなのか詳しく知りたい方は、
公式ブログの動画ではちょうど再生時間6:00辺りから動かしている様子が映っていますので、そちらを是非ご覧ください。
ですが「ただ真似して作って結果的に動けばそれでオシマイ」ではつまらないと思い、
私個人として同アプリをObjective-Cでも作れるか挑戦してみました!
その結果から先に申し上げますと、今この記事を書いている時までに作ることは出来ませんでした・・(´・ω・`)
アプリを起動させて同様に「Apply Fileter」ボタンを押すと、下のスクリーンショットのように画像が真っ白になってしまいます。
このように今はまだSwiftを十分には理解できていませんが、
学習が進んで理解が深まるうちに同記述の意味が分かるようになり、
そうすれば結果的にObjective-Cでも画像のフィルタアプリが作れるようになるのではないでしょうか?
その際はプログラミング言語が変わっても同じ挙動を実現できることから、
「他の人の真似事ではなく、それを昇華させて結果的に自分のモノにすることができた」と捉えることができる筈です。
本書を通して得た知識と経験を糧に、自身のSwiftプログラミングの礎を是非作りたいです。
Objective-Cというプログラミング言語については、今後において発展の可能性が無く将来性も無い枯れた技術なのかもしれませんが、
私個人としては大好きなプログラミング言語でありますので、アップルから「今後の使用は非推奨である」というアナウンスが行われない限り、今後も使い続けてその技術を磨きたいと思っています。
つい最近になり、私はようやくSwiftの公式ブログのチュートリアル動画のアプリを実際に作ってみました。
上のスクリーンショットが、動画の手順を私がそっくりそのまま真似て作った「iOSの画像フィルタアプリ」になります。
ちなみに、
その際に使用している画像(iMac Retina 5Kディスプレイモデルのサイトトップの画像)については、「気になる、記になる…」様が紹介しているサイトからお借りしており、
またアプリの働きとしましては、「Apply Filter」ボタンを押すごとに画像の色彩が変わるようになっています。
これがどういったアプリなのか詳しく知りたい方は、
公式ブログの動画ではちょうど再生時間6:00辺りから動かしている様子が映っていますので、そちらを是非ご覧ください。
ですが「ただ真似して作って結果的に動けばそれでオシマイ」ではつまらないと思い、
私個人として同アプリをObjective-Cでも作れるか挑戦してみました!
その結果から先に申し上げますと、今この記事を書いている時までに作ることは出来ませんでした・・(´・ω・`)
アプリを起動させて同様に「Apply Fileter」ボタンを押すと、下のスクリーンショットのように画像が真っ白になってしまいます。
このアプリをObjective-Cでも作ってみようと思った私の考えとしましては、
「applyFileterというメソッドをObjective-Cで再現するだけで済むはずなので、
多少Swiftの理解が甘くても自身のプログラミング経験から記述するべきコードを類推すれば、何とか同じ動作をするアプリを作れるのではないか?」という思惑がありました。
しかし実際はそう簡単には行かず、そこで早速ブレークポイントを活用してデバッグを行いました結果、
「Core Imageフレームワークにおいて画像のレンダリングを司るCIContextと呼ばれるクラスのインスタンスが生成されていない」ことが一番の原因であると私は考えています。
↑
CIContextのインスタンスである変数contextがnilのため、
その変数を参照して最終的にレンダリングが施された画像となるrenderedImageがNULLになってしまっています。
私としては、この点さえクリアできれば同様の動作をするアプリをObjective-Cで作れると思ったのですが、実現できませんでした。
私個人のプログラミング経験としましては、
ここで問題となっているCIContextクラスは今まで使ったことがなく、加えてそのインスタンスを生成する際は「alloc」や「init」といったObjective-C特有のベタなメソッドを使って生成することが出来ない事実が判明したことから、
このクラスについては活用以前のコンストラクタの段階から未だに理解できていません。
ですが、それをSwiftで記述する際は
let context = CIContext(options: nil)
のたった十数文字の一行だけで実現出来る様ですから、それだけでもSwiftの機能性の高さが垣間見れます。
このように今はまだSwiftを十分には理解できていませんが、
学習が進んで理解が深まるうちに同記述の意味が分かるようになり、
そうすれば結果的にObjective-Cでも画像のフィルタアプリが作れるようになるのではないでしょうか?
その際はプログラミング言語が変わっても同じ挙動を実現できることから、
「他の人の真似事ではなく、それを昇華させて結果的に自分のモノにすることができた」と捉えることができる筈です。
本書を通して得た知識と経験を糧に、自身のSwiftプログラミングの礎を是非作りたいです。
Objective-Cというプログラミング言語については、今後において発展の可能性が無く将来性も無い枯れた技術なのかもしれませんが、
私個人としては大好きなプログラミング言語でありますので、アップルから「今後の使用は非推奨である」というアナウンスが行われない限り、今後も使い続けてその技術を磨きたいと思っています。
0 件のコメント:
コメントを投稿