質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

296閲覧

swift での開発の常識を教えてください

bouyomisan

総合スコア87

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

2クリップ

投稿2017/09/23 05:06

編集2017/09/23 09:36

Ruby on Rails を学んだあと、swift を始めたのですが、勝手が違いすぎて戸惑っています。

  1. MVC に従って開発したいのですが、Models, Controllers というディレクトリを作ってそこに格納するのは一般的ですか?
  2. view で共通する部分を作りたいのですが、部分テンプレートを作成するのは一般的ですか?また、どのように作成すればいいでしょうか?
  3. story_board は使うのがいいとか、使わないのがいいとか是非が分かれてるのですが、どちらが多いのですか?
  4. swift で使われているデザインパターンはどのようなものですか?
  5. web開発ではviewを作成する時、html, css, javascript の3つの種類を使って開発していたのですが、swift でstory_board を使わないとするとこの3つを1つの viewController で設計することになります。分けて考えたいのですが、これは慣習にあってますか?

追記

すみません、説明不足でした

「この3つを1つの viewController で設計する」とはどういう意味ですか?

3ではなく4つでした。。。
僕の認識ではweb開発では html, css, javascript, railsでいう所の controllerの4つを使って view を開発していました。swift ではこれらを全部ひっくるめて viewController で開発しているという意味でした

swift で使われているデザインパターンはどのようなものですか?

例えばrails では MVC が使われていて、そのほか decorator、service、helper などのパターンが存在します。swift ではこういうものは使われるのか?という意味です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Stripe

2017/09/23 06:18

「swift」がプログラミング言語であることは知ってますよね? 「swift で使われているデザインパターンはどのようなものですか?」と言われても、何と答えていいのか分かりません。
Stripe

2017/09/23 06:20

「この3つを1つの viewController で設計する」とはどういう意味ですか?
guest

回答2

0

ベストアンサー

「デザインパターン」というよりは設計のパターン(アーキテクチャパターン)ですね。
先週あったiOSDC2017での任意アンケート結果が参考になると思います。
https://twitter.com/ca_developers/status/909332514459623425

4.5の質問の両方にまたがる問題ですが、基本的にはiOSアプリはMVCで開発することになっている(いた)ようです。
Objective-C
プログラミングの概念

ただ、ViewControllerが文字通りviewとcontrollerの大部分の役割を兼ねがちで、しばしばFatViewControllerと呼ばれるような状態になってしまいます。なので一定以上複雑なアプリを作成する場合はMVPやMVVMパターンで責務を分割していくのが最近の流れになっています。

参考として以下のページをあげておきます。iOSアプリ開発頑張ってください。
iOSDC 2017 前夜祭で「節子、それViewControllerやない…、FatViewControllerや…。」というタイトルで登壇しました! #iosdc
【iOSDC2017】MVC→MVP→MVVM→Fluxの実装の違いを比較してみる

投稿2017/09/23 10:43

idonotknow

総合スコア74

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bouyomisan

2017/10/10 01:41

参考になりました。ありがとうございます!
guest

0

まず、Railsとswiftでの開発は全く別物と考えた方が良いと思います。

1.MVCに従ってやるのであればModels、Cotnrollersというディレクトリを作って格納していくのはよく使われますが、swiftでの開発で一般的であると言えるかまでは分かりません。Railsはそういう規約があるのでそうでなくてはいけませんが、swiftでの開発にそういった縛りはないためです。

2.部分テンプレートを作成するのは一般的だと思います。

3.どちらが多いかの調査結果は持ち合わせてないですが、開発者の好みや開発の規模によります。

4.swiftが採用しているデザインパターンでしょうか?swiftの言語設計の話でしたらあまり詳しくありません。すいません質問の意図がよくわかりませんでした。設計におけるデザインパターンは自由に使えば良いと思います。

5.ネイティブ開発であればhtml,css,javascriptは基本的に使わないと思います。(分けて考えるというのがイマイチ分かりませんすいません)

投稿2017/09/23 06:46

mtdsnsk

総合スコア789

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問