Stanford CS193P Winter 2017コース:Swiftを使用したiOS 10アプリ開発





スタンフォード大学、米国-コンピューターサイエンス(コンピューターサイエンス)の分野で世界最高の1つ。 彼は自分のコースをsharesしみなく共有し、最も人気があり成功しているコースの1つは、Paul Hagerty教授が教えているCS193P iOSアプリケーション開発コースです。 このコースは2010年から毎年教えられています。 現時点では、CS193Pコース「Developing iOS 10 Apps with Swift」が関連しており、2017年冬-「Swiftを使用したiOS 10アプリケーションの開発」であり、 iTunes Uの 17の講義と5つのタスクはすべて投稿済みです(ただし、 Youtubeで見ることができます) 。

新しいコースでは、教授がオブジェクト指向プログラミングから、数学関数に類似したAPIを備えた多くの不変オブジェクトを使用した関数型プログラミングへとコース全体を少し変えたことが明確にわかります。

もちろん、iOSは関数型プログラミングの考え方に基づいてまったく設計されていません。 しかし、 Swiftを発明した人々は、関数型プログラミングのアイデアを「頭の中で」持っていました。 (少なくともモデルの一部で)iOSアプリケーションを開発するとき、関数型プログラミングの多くの要素を使用できます。



これはiOSプログラミングの新たなフロンティアです。なぜなら、10年の間、人々は主にiOSプログラミングで参照型オブジェクトのみを使用し、オブジェクト指向プログラミングの概念に言及してきたからです。 しかし、Swiftでstructs



およびenums enums



を使用してプログラミングする場合、特にprotocols



Generics



プロトコルメカニズムを接続する場合は、実際の関数型プログラミングを扱うことができます。



そして新しいコースの講義1タスク2から始まって、重点は非常に異なっています。 そもそも、 value types



、およびreference types



について-受け渡しのみ、 structs



構造とenums



、およびクラスclasses



についての詳細-受け渡しのみ。 Range<T>



範囲と、どのような条件下でRange<T>



Sequence



シーケンスになり、 for in



構文を自分に適用できるかについて非常に詳しく説明します。



教授は、Swift 3の構文とXcode 8の機能の非常に詳細な説明から始めます。文字通り各文字について説明します。 さらに、クラスclass



ようにsubclass



の作成を使用できないためpublic API



モデルのpublic API



から始まるstruct



構造を使用してモデルを設計する方法、 struct



構造で拡張可能な機能を実現する方法を示します。 ネストされたstruct



構造とenum



列挙の作成を示します。 非常に短いコードスニペットは、 Optional



のセマンティックコンテンツに基づいて、 Optional



を使用する場合と使用しない場合を説明しています。 Closureを含む、あらゆるタイプの値が関連付けられているenum



列挙には、多くの注意が払われます。 willSet{}



didSet {}



オブザーバーやlazy



遅延初期化などのプロパティが考慮されます。 したがって、SwiftでiOSアプリケーションを開発する初心者にとっては非常に便利ですが、初心者がプログラミングを習得することはできません。



このコースで提供されるタスクを完了すると、iOSオペレーティングシステムでのSwift



プログラミングの学習における特別なブレークスルーを達成できます。 それらは通常非常に興味深いものであり、あなたは間違いなくそれらの実装を楽しむでしょう。 ただし、 struct



構造、 enum



型列挙、 Optional



セマンティック理解、クロージャー、タプルなどの使用、およびiOS 10の高度な知識( View Controller



ライフサイクル、マルチスレッド、 Scroll View



備えたSwiftトリックの全範囲を知る必要がありますScroll View



Table View



Collection View



Core Data



Dynamic Animation



など



3年間、このすばらしいコースを最後まで完了し、このコースのすべてのタスクを完了するのに役立つサイトがあります。 このプロジェクトの目的は、開発者としてあなたが専門家と自由にコミュニケーションを取り、WWDCで言われていることすべてを理解し、 Swift.orgでのSwift 4



の作成を監視できるときに、かなり高いレベルのiOSプログラミングを行うことです。教材に永遠に「たむろ」しないでください。 CS193P



コースCS193P



高品質な独立プログラミングの後CS193P



トレーニングコースは必要ありません。



このサイトには、スタンフォードのコースを勉強するために必要なすべての資料が含まれています: 許可されていないロシア語の講義ノートデモ例ロシア語のタスク 、iOS 10およびSwift 3の タスクの ソリューションオプション

Xcode 8



Mac



タスクを完了するプロセスは非常にエキサイティングです。優れた情報サポート、結果はiPhoneおよびiPadシミュレーターまたは実際のデバイスに表示され、デバッグプロセスを視覚化します。



最も興味深いのは、 Xcode 8



から、デバイスでデモを実行し、タスクを完了(または友人と共有)できることです( Developer Account



開発者証明書を99ドル/年とする必要はありません)。 Xcode 7



、開発者に対するApple



のポリシーが変更されました。彼らは、若いプログラマーを引き付けてアプリケーションを開発しようとしています。



あなたが他の言語( Java



Python



C++



)の経験豊富なプログラマーであれば、経験が示すように、 Swift



構文構造に対処するには2〜3週間で十分です(非常に短い入力期間です)。 そして、Stanfordコース「Developing iOS 10 Apps with Swift」へようこそ。タスクを完了してみてください。そのテキストはロシア語と英語でここに表示されます 。 最初の3つのタスクは、マルチスレッド、 Table View



テーブル、 Core Data



データベース、アニメーションのいずれにも関連していません。 これはSwift



MVC



を知るための純粋なプラクティスです。 ここでは、数行のコードで計算された変数を使用してUserDefaults



のデータのストレージを管理し、クロージャとは何か、「キャプチャ」リストでweak



と非unowned



を使用して循環メモリリンクを「解除」する方法、 @escaping



関数、タプルの操作方法など。 Githubにはジョブを解決する例があります。 したがって、Swiftプログラミングのすべてのスキルを試してみる価値があります。 さらに、ソリューションを既存のソリューションと比較できます。

割り当てには解決策があります。

タスク1 cs193p Winter 2017 Calculatorのソリューション。 必須およびオプションのアイテム。 Githubにあります。



タスク2 cs193p 2017年冬「スマート」電卓。 解決策。 必須およびオプションのアイテム。 Githubにあります。



タスク3 cs193p Winter 2017「グラフィック」電卓。 解決策。 必須項目。 Githubにあります。



タスク3 cs193p Winter 2017「グラフィック」電卓。 解決策。 追加アイテム。 Githubにあります。



タスク4. CS193P Winter2017。SmashtagMentions(Twitterクライアント)。 ソリューションは必須ポイント1〜7でGithubにあります。



タスク4. CS193P Winter2017。SmashtagMentions(Twitterクライアント)。 ソリューションは必須ポイント 8〜10です。Githubにあります。



タスク4. CS193P Winter2017。SmashtagMentions(Twitterクライアント)。 決定-追加ポイント1-5。 Githubにあります。



タスク4. CS193P Winter2017。SmashtagMentions(Twitterクライアント)。 ソリューションはオプションのポイント6です。UICollectionViewとセルの移動。 Githubにあります。



タスク4. CS193P Winter2017。SmashtagMentions(Twitterクライアント)。 解決策は、WaterFall型のセルの場所とレイアウト間の切り替えを含む追加のポイント6. UICollectionViewです。 コードはGithubにあります。



コース「iOS Application Development with Swift」のPSディスカッション資料は、Piazzaのプライベートフォーラムで開催されます。 そこで質問することができます。

登録するには、リンクをたどる必要があります。

piazza.com/moscow_physical_engineering_institute_bestkora.com/spring2017/mf141

プライベートコードmf141を入力します。



All Articles