\
2021年01月31日
Posted by 屋台ブルー at 2021年01月31日00:00 Comment(2)

Swiftで遊ぼう! - プログラミングまとめ(ときどき更新)

swift_logo初めてここに辿り着いたプログラム初心者の皆さん、このブログは休止中です。私のプログラミング活動はHatenaに移っているのでHatena版をよろしく!
Swiftで遊ぼう!on Hatena


[はじめに]
私は、そろそろ50歳になるオヤジ、普通なら仕事や家庭で安定した立場にあって、新しいチャレンジは必要ないと考えるかもしれない。しかし、医療従事者として現在の高齢化社会の問題点に対峙していると、さらに深刻になるであろう超高齢化社会の一員になることに憂虞せざるを得ない。「50歳や60歳で安定してはいけない。まだまだ学生と同じように新しいことに挑まなければならない。」という気持ちは強くなる。そう考えている人も多いんじゃないでしょうか。私は「40歳からのアスリート」というテーマで目標を達成でき、その過程で新しい仲間、そして生涯を通じた生きがいも得ることができた。これは自分の肉体の維持であり、知能の維持も重要なテーマになる。全く新しい刺激を加えると言うことで、「50歳からのプログラマー」というテーマを掲げることにした。最近、教養としてのプログラミング講座 (中公新書ラクレ)という本を読んだ。こういうプログラミングの本が売れていると言うことは、私のような50オヤジでプログラミングに興味がある人も多いのでしょう。全くの初心者オヤジが、iPhoneアプリを作ってApp Storeに登録できれば、話題性があるかもしれない。できるかどうか分からないが、このブログで記録を残しながら勉強を続けていくので、興味のある人はコメントをしてください。よろしくお願い致します。
2014年8月12日 屋台ブルー

開発環境、いえいえ勉強環境:2021年1月31日
MacOSX11.1 on MacBook Pro M1 2020 Memory 16GB
開発ツール:Swift 5.3 / Xcode 12.4
開発ターゲット:iPad Pro
-----
2021年1月31日追記
2020年はコロナ禍対応に追われ、全くプログラミングの勉強をする余裕が無かったです。2021年、今年はSwiftUIプログラミングに取り組みます。そのため勉強環境を新しいプラットフォームであるApple Siliconに変更しました。MacBook Pro Ma 2020をゲット、これでSwiftUIプログラミングに取り組みます。さあ、今年こそアプリを発表したいですね。

-----
2019年6月11日追記
WWDC2019が終わりました!今年の目玉は、誰が何を言おうと、SwiftUIフレームワークです!本当に画期的!苦労して理解してきたOOPから始めるPOPまである程度理解しているから、すんなりとSwiftUIプログラミングが理解できたのでしょうね。全くの初心者にはハードル高いかも。それでも、View指向というか、Model指向プログラミンというべき、View、いやプレビューを中心にしたプログラミングは次元の違うプログラミングスタイルを作りだしていると思います。アニメーション、非同期機能まで組み込まれたユーザーインターフェイスであるパーツを使ったプログラミングスタイル!画期的ですね。昨年のカンファレンスは殆ど見てなかったのですが、今年は興味深く、SwiftUI関連のビデオはすべて見ているところです。もう少ししたら、はてなブログで情報公開する予定。では、皆さん、プログラミングの勉強頑張りましょう。

-----
2019年5月6日追記
OOPに関する基本事項は理解できているのに、プログラミング環境の変化が早すぎて、なかなか理解がついていけない状態のまま。Swift 5にアップデイトされたんで、とりあえず、開発環境だけ新しくして、メモリを32GBに増量して快適な環境にしました。WWDC2019が間近です。なんとかしなkれば...(^^)/

-----
2018年6月7日追記
ついにWWDC2018が始まりました。今年は新しいハードウェアの発表はなく、OSと開発ツールのブラシュアップが中心のようで開発環境の変化に興味をそそります。昨年はほとんどSwift関連の勉強ができていなかったのでSwift 4の変化についていけていません。WWDC2017もほとんど見ていないんです。来年のSwift 5の大きな変化の前にSwift 4最終バージョンの4.2の勉強をするためにMacOSX 10.14 BetaとXcode 10.0 betaをインストールしました。

さあ、再びプログラミングの勉強を始めよう。

-----
2017年12月16日追記
完全にSwiftの勉強が中断していました。諦めた訳ではないのですが自分への課題が多すぎてこなせなくなっていました(^^;) 身体作りという基本的なところに立ち返って勉強を再開します。

実は開発環境が大きく進化しましたMacBook Proも15インチに切り替えです。時代に逆行しているようですが、画面はやっぱり大きい方が圧倒的に使いやすいからです。iPhoneも2年ぶりに機種交換してiPhone Xになりました。環境は最強ですが、開発者の能力がついて行けてませんね。さあ頑張ろう!

-----
2017年1月18日追記
まだSwiftの勉強を続けています。いろいろな内容を理解したんですが、Swift 1からSwift 2に変化して、昨年はSwift 3が公開され、変化について行けない状態です。

急ピッチで学んだ内容をアップデイトしています。

今年こそは何か形にして行きたいです。

-----
2016年9月28日追記
本業が忙しくプログラミングの勉強が頓挫中。それでも昔の記事をSwift 3向けに書き換えています。オリジナルアプリ本当に発表できるのか?

-----
2016年6月6日追記
スタンフォード大学のiOS9開発講座を受けています。2年前はレクチャー10で挫折しました。今年はレクチャー8まで復習が終わりました。2年前と比較すればかなり理解できているって実感はできますが、まだまだ開発者への道は険しいです。でも頑張ります!

-----
2016年2月1日追記
現在はCoreDataをベースにしてデータベースに関する勉強と併行してSwiftの復習とデザインパターンの復習、そしてオリジナルアプリプロジェクトを開始しました。形あるモノ(アプリなので実体は無いけど(^_^;)が生まれそうです。

-----
2015年11月10日追記
初心者向けのチュートリアルが完成しました。やっとチュートリアルに書かれている事が理解できる程度になってきているということです。道のりは長い(^^;)

日本語版Appleのチュートリアル(Swift2.1対応版)

-----
2015年8月6日追記
開発の勉強をSwift 1.2と2.0の両方を交えながら進めてきましたが、1.2の知識は捨てて2.0の内容だけ覚えていきます。

http://yataiblue.hatenablog.com/

-----
2015年7月10日追記
ついに「Swiftで遊ぼう!」も1年になりました。当初の計画では、今頃私のアプリがApp Storeに並んでいる頃合いなんですが、やっぱり50親父の片手間プログラミング勉強では思うようになりませんでした。それでもこの1年でかなり色々なことが学べました。Swift 2.0も発表されているので、Swift 2.0を使って今まで書いた内容を復習していく予定です。下記をチェックしてください。

http://yataiblue.hatenablog.com/

-----
2015年4月22日追記
懲りずにスタンフォード大学ポール先生の講義を受けています。まだLecture8のオートレイアウトの話ですが、UIImageViewの取り扱いが出てきているので、あしたさぬきで書いたアイコンに関するページをまとめました。

http://yataiblue.hatenablog.com/

-----
2015年4月8日追記
今まで使っていたMacBook Air 13inch Mid2013は妻専用マシーンになりました。ということでiOSプログラミング勉強用にMacBook Proを導入! キビキビした動きが心地よいですね。Xcodeもサクサク動きます。1kgを切るMacBookも気になりましたが、16GBのメモリーが利用できるMacBook Proにしました。

http://yataiblue.hatenablog.com/

-----
2015年3月25日追記
じっくりSwiftの勉強を続けています。今はスタンフォード大学の「Developing iOS8 Apps with Swift」を受講している。まだLecture6を勉強しているところで、インタラクティブな挙動を習うところだ。Hatenaで記録を残しているのでどうぞ。

http://yataiblue.hatenablog.com/

-----
2015年2月13日追記
あしたさぬき版「Swiftで遊ぼう!」は終了になりますが、Swiftの勉強は続いていて、記録は「Swiftで遊ぼう!on Hatena」で継続されています。今後はHatenaでよろしくお願い致します。

http://yataiblue.hatenablog.com/

-----
2014年12月20日追記
Xcode6を使ってiOS SDKの勉強をしてHello World!を表示させる仕組みは理解できたので様々なクラスの勉強に進んでいます。しかし、コメントで指摘されているようにSwift言語を使ったOOPの理解が不十分だったので、2つの勉強を平行してすすめていくことにします。正本The Swift Programming Language本の読破率は70%程度です。分からない部分を読み飛ばしていたので、この本の再読を始めました。

最初読んだ時に分からなかったところが理解できるようになっているので驚きです。プログラミングの世界が少し見渡せるようになってきているような気がします。それでもプログラマな皆さんが語りあっている話題、Qiitaで語られれているトピックはいまだにちんぷんかんぷんです(^_^;) 

自分の書いてきたブログの内容も読み返し始めました。まだまだ時間はかかると思いますが、ブログを整理して分かり易い解説に変更していいく予定です。では。

-----
2014年11月27日追記
さて、Swift開発の第2ステージに入っていきます。iOSフレームワークの部品を知ることから自分の作ってみたいアプリを開発していこうと思っている。まだまだ道は険しいが楽しいですね。アプリ作りと同時にSwiftの初心者用の本も書いていこうと思う。色々とチャレンジしてみよう。

-----
2014年11月6日追記
何度も説明しているけど、Swift言語を理解してもiPhoneのアプリを作ることができない。iPhoneアプリを作るためにOOP(オブジェクト指向プログラミング)の作法を知っておく必要があるし、先駆者が築いてきたAPIの理解も必要、そしてiOSを構成しているフレームワークの理解が必要になる。画面に"Hello World!"と表示させるプログラムが書けても何も楽しくないだろう(そこまでも長かったけど)。ある程度Swiftを理解できてきたので、更にツッコんでOOPとiOSフレームワークの理解に入っていくよ。徐々に人の書いているコードが理解できるようになってきたのが楽しい!

-----
2014年10月20日追記
とうとうXcode6のiOS Simulator上でコードしたアプリが動きました!何となくiOSアプリが作れるような気になってきましたよ。実は今読んでいるSwift Fundamentals本の最後の課題でiOSアプリ作成をしていたのですが躓きました。しかし、アップルの公式ブログの「Building Your First Swift App Video」を観て作りあげることができたんです。この内容はブログの記事に出るのでお楽しみに。

-----
2014年10月16日追記
毎日少しずつ勉強。17歳でノーベル平和賞を受賞したマララ・ユサフザイさんも言って(ノーベル平和賞受賞のマララさん、世界中の女性に “Hour Of Code”[1時間のプログラミング]への参加を呼びかける)ますよね。毎日少しずつ。オヤジの私も実践してます。皆さん頑張りましょう。

-----
2014年9月19日追記
本業も忙しく、プログラミングの理解がすすまないけど、毎日少しずつ考えを巡らしてます。モダンプログラミング言語のSwiftの特徴は、関数型プログラミンとはいうものの、オブジェクト指向プログラミングから進化している段階なので、オブジェクト指向プログラミングの習得を目指している。オブジェクト指向なら、やはりGoFのデザインパターンが基本なんだろうという考えから、GoFが書いた本も購入した。しかし、Swiftに置き換えて考える技術がまだない。Swift関連でデザインパターンを勉強できないかとうろついていたらDevelopers.IOに「特集カテゴリーSwift / デザインパターン」というページを見つけたので内容を勉強しよう。リンクは下にあるよ。

-----
2014年9月12日追記
紆余曲折、遅々と進まないSwiftの勉強に光明が差しました! 素晴らしい本と出会えたんですよ。本屋に行くのが面倒くさいので、Kindle本を探していて、オブジェクト指向プログラミングの概念も必要かなと考え、レビュー評価の高いオブジェクト指向でなぜつくるのか 第2版を選んで読んだら大当たり! 私でも理解できたんで一気に読めました。しかし、著者の平澤章さんも言っているけど、この本を読んでもプログラミングはできない。しかし、とっかかりにして勉強を進める道筋を示してくれました。感謝感激です。平澤さん、ありがとうございましたm(_ _)m。何度か読み返して自分なりに知識を膨らませていくつもり。UMLモデリングやデザインパターン、リファクタリング、もう少し掘り下げて勉強をしたくなりました。しかし、まずはOOPの理解を深めないといけませんね。この本に関する記事は、いずれこのブログで取り扱います。

-----
2014年8月9日
本当に少しずつ理解しているSwiftプログラミング。まだ正式版も公開されていないから扱っている人は少ないでしょう。

根っからのマック信者で新しもの好きな人間として、モダンと形容されるマック独自なプログラミング言語に惹かれました。

プログラミング素人のオヤジでもiOSアプリを作れるかどうか、実験的に記録を残しながら勉強しています。The Swift Programming Languageを眺めながら、Xcode6β阪で導入されたplaygroundで一月ぐらい遊んできましたが、まだまだですね。自分で書いた内容も振り返りながらブログの整理もしていこうと思っています。

英語サイト
Swift Blog
Jameson Quave
sketchyTech
Russ Bishop
Airspeed Velocity
Candy Crush Tutorial
6 Best Free Swift Tutorials for Apple’s New Programming Language:2014年8月20日追加 Swiftプログラミングの初心者用のチュートリアル6選がここにあります。この中の1つのチュートリアルを使ってアプリを作成中なので、このブログでもSwiftプログラミングの日本語チュートリアルを公開していきますよ。まあ、私が作成できればの話ですけど(^^;)
iPhone Tutorials:2014年11月6日 ここのチュートリアル最高!基本的にここの内容をブログで紹介していくことになる。

日本語サイト
The Only Tip. The Only Edge
Swiftビルトイン関数のリファレンス:2014年8月28日 これ! この情報が欲しかったんです。覚えなきゃ。まさに学生気分です。暗記帳に書いて覚えていきます。
その時凡人が動いた:2014年9月7日 大学生エンジニアのブログです。記事は少ないけど、C言語の配列の説明が分かり易かったです。Swiftにポインターは無いけど、ポインターの意味が何となく分かりました。
Swiftでプログラミングが簡単になったiPhoneゲーム開発の第一歩(マルバツゲームを例にStep by Step解説):2014年9月7日 Xcode6β版のキャプチャイメージを載せているけど、問題ないのだろうか? もう正式版発表も間近なんで気にしてないかも。このゲームは、YouTubeで数多くのSwiftチュートリアル動画を配信しているSkip Wilsonの日本語バージョンてところかな? →Swift Programming Tutorial Part 5: Making a Game (Tic Tac Toe with AI)
特集カテゴリーSwift / デザインパターン:2014年9月19日 言わずと知れたGoFのデザインパターンをSwiftで解説してくれそうです。まだエントリーは2つだけ。
Swiftで書くデザインパターンまとめ:2014年9月21日 最近参加したQiitaという開発者のサイトに興味深いページがありました。デザインパターンは最近重要だと思っているオブジェクト指向の基本。
Swift Docs:2014年9月21日 オブジェクト指向の意味が分かって北野で、そろそろiOSのフレームワークの利用をしていくつもり。こういうサイトがあるんですね。チェックです。
We ❤ Swift:2014年10月16日:そろそろXcode6の実践的な使い方とよりOOPよりの勉強にシフトしていくためのリソースです。
Swift言語を学ぶ:2014年11月9日 4ヶ月ぐらい勉強したのにまだSwift言語の完全理解ができていない。悲しいことだけど挫けるわけにいかない。日本後でサンプルをつけて説明してくれるサイトも増えてきた。結構詳しい説明をしてくれているサイトを見つけた。理解しきれていない項目をチェックしている。

私がプログラミング勉強のために今まで読んだ本と読んでいる本のリスト
読破率:10%ぐらい
2014年11月27日:日本語の教科書です。当然Kindle版を買ったのですが、下記で紹介している「Swift Fundamentals」と比べると読みにくい!Swift FundamentalsはKindle本仕様なので、字体を大きくしたり小さくしたり検索できるけど、この日本語本、というかKindleショップで売られている日本語本で一般的に言えることですが、紙面の画像ファイルをそのまま使っているので読みにくい。内容は今の私向けだけど、この仕様は最低ですね。がっかりです。Kindle本は買わない方がいいかも。こういう本を私はきちんと提供していきたい。




読破率:100%
2014年10月20日:読み終えました。最後の課題はiOSアプリ作成ですが、本に書かれている通りにしてもできませんでした。しかし、Appleのブログの情報を使って独自につくると動きました!iOS Simulator上で動いたとはいえ、ちょっと感動でした。
2014年10月8日:Swiftの原書を読み進めていたけど、内容が濃く読んでも直ぐ忘れてしまう状態なので、簡単にまとめたSwift基本本としてこの本を手に取った。完全に文法解説書なのでオブジェクト指向プログラミングの勉強にはならないが、Swift言語体系の習得には適しているだろう。読み始めて、忘れているシンタックスが多いことに気づかされた。繰り返して覚えるしかないですね。


読破率:100%
2014年9月11日:実は数日前から読んでいるけど、目からウロコ!、超お勧め! Swiftの言語体系の在り方をほとんど説明してくれているという感じで、疑問に思っていたことに答えてくれています。まだ、ブログでこの本に関して触れていませんが、徹底的に解説して、Swiftの言語体系を説明していこうと思っています。親父な初心者プログラマーの皆さま(ちょっと希有ですが(^^;))、お勧めですよ!
←超お勧め!
2014年9月12日:読んで感激! これこそがプログラム初心者が最初に読む本でしょ。これでSwiftのすべてを理解できませんが、関数型言語まで踏み込んでいるため、モダンランゲージと形容さえる所以が分かります!


読破率:50%
2014年9月7日:アマゾンで衝動買いしたプログラミング本。基本言語はC++ですが、丁寧な解説をしてくれているので本当に初心者の私でも理解できるぐらいです。Swiftに置き換えて考えることができました。まだブログの記事になっていませんが、この本の解説をSwiftでしていく予定です。
←超お勧め!







読破率:ほぼ100%
2014年9月7日:これは書籍が出た時、「日本語の本がある!」と飛びついた本ですが、私のような初心者には不向きですね。これを読んでもSwiftの言語体系を理解できないし、ある程度ObjectCの知識がある人向けになってて、Swiftの知識がある程度蓄積されないと理解できません。そして。大きな問題があります。初版が2014年6月19日でβ版が公開された当時の内容です。その後β7までリリースされる中、言語仕様に変更が加えられていると言うのに改訂がありません! おいおい売る気全くないじゃん! β版を扱った本なので、せめて正式版が発売されるまで改訂をして内容を新しく書き換えて欲しいです。今から読む本じゃないです。せっかく先取りしているのにどうしたんでしょう。
←お勧めできません

Swiftで遊ぼう! - プログラミングまとめ(ときどき更新)読破率:70%
2014年9月7日:これは言わずとしれた本家アップルから出ている教科書:The Swift Programming Language  これが無いと始まりません。どんな入門書を買って読むよりこの原著に取り組むべきでしょう。それも今のようなβ版の時は特にだ。Swiftの正式版が発表されるのと同時に日本語版が発表されると嬉しいのですがどうでしょう?
←超お勧め!



読破率:100%
この本を読んでもSwiftの勉強にはならない。というか、残念ながら今時(モダン)のプログラミング技法の習得ヒントにもならない。実社会の問題をプログラミングに置き換えて説明していることでプログラミングの重要性は気づかせてくれるので勉強をする動機にはなる。私もこの本を読んだことでSwiftの勉強を始めた。しかし、プログラミングの勉強を始めた人が読むには値しない。
←お勧めできません





既存ブログ記事内容の更新
Swiftで遊ぼう! - 149 - Xcode6でicon開発? (Gimpで開発):2015年4月22日 アイコンに関するページをまとめ
Swiftで遊ぼう! - 47 タイプキャスティング(Type Casting) まとめ:2014年11月15日 タイプキャストのまとめページに変更「Swiftで遊ぼう! - 47 アプリを作ってみよう3 Type Casting?」から変更
Swiftで遊ぼう! - 36 なんだかんだと全体像がおぼろげに... ジェネリック:2014年10月16日
Swiftで遊ぼう! - 6 セッター、ゲッター、何のコッチャー:2014年9月25日
Swiftで遊ぼう! - 1 class and structure:2014年9月25日
Swiftで遊ぼう! - 15 クロージャ(Closures)は苦労じゃ:2014年9月7日
Swiftで遊ぼう! - 53 そして問題ふくみのARC:2014年9月2日
Swiftで遊ぼう! - 52 デ・イニシャライザー? なぜ動かない?:2014年9月2日
Swiftで遊ぼう! - 5 なんだなんだLazy?:2014年8月27日:再び更新
Swiftで遊ぼう! - 33 Swift Tourを再び!:2014年8月12日
Swiftで遊ぼう! - 35 Swift Tourで戯れる:2014年8月12日
Swiftで遊ぼう! - 4 Arrayのコピーがおかしい?(β3):2014年8月9日
Swiftで遊ぼう! - 5 なんだなんだLazy?:2014年8月9日


同じカテゴリー(Swiftで遊ぼう!)の記事画像
Swiftで遊ぼう! - 番外編 - Xcode6:ショートカットと用語説明
Swiftで遊ぼう! - 209 - ルートビューのコードは続く:CGRect
Swiftで遊ぼう! - 208 - ルートビューのコード
Swiftで遊ぼう! - 207 - ツールバーボタンとビューコントローラーを繋ぐ
Swiftで遊ぼう! - 206 - ビューコントローラーにビューコントローラーを載せる
Swiftで遊ぼう! - 205 - マルチビューアプリ始動!
同じカテゴリー(Swiftで遊ぼう!)の記事
 Swiftで遊ぼう! - 番外編 - Xcode6:ショートカットと用語説明 (2015-04-05 00:00)
 Swiftで遊ぼう! - 209 - ルートビューのコードは続く:CGRect (2015-02-06 00:00)
 Swiftで遊ぼう! - 208 - ルートビューのコード (2015-02-05 00:00)
 Swiftで遊ぼう! - 207 - ツールバーボタンとビューコントローラーを繋ぐ (2015-02-04 00:00)
 Swiftで遊ぼう! - 206 - ビューコントローラーにビューコントローラーを載せる (2015-02-03 00:00)
 Swiftで遊ぼう! - 205 - マルチビューアプリ始動! (2015-02-02 00:00)

この記事へのコメント
日本語サイトのブログでも紹介してもらっている者です。私も、50歳になっても屋台ブルーさんのように学び続けたいです!刺激になりました!最近、Swiftの情報を追いきれていなかったのですが、これからキャッチアップしていきたいと思います。
Posted by kzy at 2014年09月08日 00:38
kzyさん、コメントありがとうございます。
Swift関連のまとめは利用させてもらってます。ところどころ質問したいところがあるのでまたよろしくお願い致します。

いやはやプログラミングの奧は深いですね。大昔にシャープのマイコンMZ-80Bを使ってBASICで遊んでいたときから隔世の感を禁じ得ません。

Swiftが理解できたらiOSプログラミングも簡単にできると思っていましたが甘い考えでした。現状では、CocoaのAPI群の理解にObjectCの理解は欠かせないような気もします。Apple的にObjectCからSwiftに開発環境を移行させようとしていいると思うので、FoundationやUIKitももっとSwiftに最適化されていくのかなと思ってます。

iOSアプリ作りを進めるより、Swiftの理解とプログラミングの基本的な知識を習得する方が重要と判断して、C++で解説されているプログラミングの本をSwiftで考えていくことにしました。独学で学習していると理解しずらい所があるけど、必ずiOSアプリを作りあげるつもりで頑張って行きます。

また嬉しいコメントしてください。
Posted by 屋台ブルー屋台ブルー at 2014年09月08日 20:56
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

削除
Swiftで遊ぼう! - プログラミングまとめ(ときどき更新)
    コメント(2)