iPhoneアプリを開発したくて今まで何度もObjective-cに挑戦してきました。しかし、どうにもその文法になじむことができず習得に至らずにいました。昨年、Appleが新しい開発言語Swiftを発表し、その言語のわかりやすさで「今度こそできる!」と思いました。
年末年始の休暇中にSwiftを勉強しようと買った本がとてもよかったので、それについてご紹介します。
絶対に挫折しないiPhoneアプリ開発「超」入門
年末、Amazonでどの本がいいか検索していました。いくつか候補もあったのですが感想の部分に「ios8.1になってから動かない」という書き込みがいくつかありました。そこでios8.1に対応していることと 絶対に挫折しない という文言に惹かれてこの本を購入することになりました。
同じシリーズでバージョンがいくつかあるようですが 緑色 の上記が最新版です。
帯に
これから始める人に読んでほしいとことん丁寧な本格入門書
プログラミング経験ゼロでも安心の「疑問を残さない詳細解説」
だから、Swiftとアプリ開発の基本はこの1冊で必ず習得できます!
手順の省略や解説の飛躍も一切ありません。
とあるのも決め手になりました。
本を読んで1日やってみた Chapter01~03
いつかはiPhoneアプリの開発を!という気持ちもあり、普段使っているPCはMacです。しかし、ブートキャンプで常にwindows7を使っているのでMacOS自体も慣れていません。ということで、どこまで進むのか…と不安混じりながらも1日やってみました。
Chapter01 iPhoneアプリ開発の基礎知識 ではiPhoneアプリ開発に必要なおおまかな情報と必要な道具について書かれています。クレジットカードを登録せずにXcodeをインストールする方法も書かれていて、丁寧だなと思いました。
Chapter02 XcodeとiOSシミュレータの基本操作 Xcodeのインストールについて書かれてです。何度も挫折している私なのでXcodeはインストール済みでしたがアップデートが必要だったのでアップデートで最新のものにしました。Xcodeが統合開発環境だということを初めて知りました(^_^;。とても読みやすく、親しみやすいデザインの本書なので文章も飛ばすこと無く読めるおかげのようです。
Chapter03 今日からはじめる Swift プログラミング[入門前夜] ではいきなり地図アプリを作ります!
こんな感じでシミュレーターで動かすことができました。
多少戸惑うことはありましたが、画面のどこに何があるのか文章に番号でしるしてあるので、その番号を画面のキャプチャと見比べながら進めて地図アプリを作ることができました(^^)/
Chapter4でいよいよSwiftの文法を勉強する
Chapter04 今日からはじめる Swift プログラミング[超入門] でいよいよ Swift の文法について勉強します。私は普段主にPHPを使ってプログラムを開発しています。その私から見ると(Objective-cに較べ)とっても分かりやすい文法です(^^)/。
Swiftの文法に触れて、おぉ!と思ったところを書き出します。
1.文末のセミコロン、変数の$が要らない
PHPは文末にセミコロンが必要です。その点、Swiftはセミコロンが要らないです。また、変数名に$もつけないのでなにかちょっと楽な感じです。この辺はちょっとVBっぽいですね。
2.PlayGroundではコーディングしながらデバッグできる
PlayGroundというものを使ってコーディングしたのですが、コーディングをしていて文法的に間違っていたりしたら赤い○がついて間違っていることを知らせてくれます。
また、変数に値が入ったときなどにその値が実際にどうなっているかが表示されるので、間違えてコーディングしてしまったときも分かりやすいです
3.変数の型はちゃんとしないといけない
PHPでは変数の型はあいまいなので
$zei = 1.08; $teika = 1000; $ryokin = $zei * $teika;
のようにコーディングしてもちゃんと計算されます。これと同じようにSwiftで
var zei = 1.08 var teika = 1000 var ryokin = 0 ryokin = zei * teika
とすると赤丸が出てエラーになってしまいました。
正解は
var zei = 1.08 var teika = 1000.0 var ryokin = 0.0 ryokin = zei * teika
とteikaやryokinも小数点をつけて型を合わせる、でした。このようにしたところ
このようになります。右側に出ているのがその時々の変数の内容で、ryokinが1080.0となっているのがわかります。
4.配列の追加は少し面倒
PHPでは配列の追加は
$seisekiArray = array(20, 30, 100); $seisekiArray[] = 80;
こんな感じですが、Swiftで
var seisekiArray = [20, 30, 100] seisekiArray[3] = 80
とするとエラーになってしまいました。
配列の追加は
seisekiArray.append(80)
のように書く必要がありました。これで、
このように正しく配列が追加できました。
参照 P.110 要素の追加と削除
5.関数はちょっとだけ違う?
関数はPHPでは function と書きますが、Swiftでは func と書きます。引数は()の中に書くなど同じような感じもあるのですが、一番違うなと思ったのは返り値の指定方法です。
例えば引数が2つあって、そのかけ算した結果を返す関数を作るとするとPHPでは
function kakezan($suuji1, $suuji2){ return $suuji1 * $suuji2; } echo kakezan(3, 5);
で 15 と表示されます。これをSwiftでやる場合は
func kakezan(suuji1:Int, suuji2:Int) -> Int { let kekka = suuji1 * suuji1 return kekka } var kakezanKekka = kakezan(3, 5) println(kakezanKekka)
という感じになります。返り値は引数の()の後に、 -> Inc のように型を明示的に書くことで指定できるようです。引数(suuji1:Int, suuji2:Int の部分)やにも型を指定したり、変数は必ず定義するなどがPHPと違うので少し長くなってしまいます。しかし、それほど違う感じではないのですぐに慣れることができそうです。
まとめ:Chapter04まで終わって 挫折しない予感が満々!
技術系の本は時々買うのですが買っただけで放置、という場合が多いです(>_<)。その原因を考えてみると自分の場合は「本が親しみやすくないこと」「進めてみて疑問が多いこと」のような気がします。
しかし、今回この本は「本が親しみやすい>絵や文字が多くレイアウトもきれい」「進めてみて疑問が少ない>画面キャプチャに番号が振ってあり、文章とリンクしてるので迷わない。解説が丁寧でなぜこうなのか?と思ったところが書いてある」ということで順調に進められていると思います。
この後は、SNSアプリやカメラアプリも作れるようになるようなのでどんどん進めてまたblogに書きたいと思います。
1月20日にSwiftの8Beatで勉強会を開きます(^^)/
ご都合が合うようでしたら是非ご参加ください。
コメント
コメント一覧 (1件)
[…] の本を購入することになりました。 同じシリーズでバージョンがいくつかあるようですが 緑色 の上記が最新版です。 帯に これから始める人に読んでほしいとことん…[続きを読む] […]