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

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

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

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

iOS

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

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

解決済

2回答

1432閲覧

iOSアプリケーション / iphone の開発手法について検討中です

necodow

総合スコア15

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

iOS

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

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2019/02/07 07:06

サードパーティ製のSDKを複数使うアプリケーションを検討中です。
全てのSDKの開発環境の条件を満たす言語が、Objective-Cでした。
iPhoneアプリとしての開発になると考えられます。

困ったことに、開発メンバーにObjective-C経験者は0人です。
ただ、学習期間は1週間程度(もう少し確保できるかも)準備できそうです。

.Netでの開発経験はあることから、開発環境としてXCodeよりはVisualStudioのXamarinの方が
とっつき易いのではないかと考えていますが、情報を整理しきれず質問させて頂きました。

◆知りたいこと
・Xamarinで開発中の方、開発効率など使い心地を教えてください。どんなことでも参考になりますので。
・プロジェクト作成時にiOSアプリ、iOS XAMLアプリとありますが、どちらで作成してもiphoneで利用できるのですよね?
違いは何でしょう?

以上です。

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

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

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

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

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

guest

回答2

0

ベストアンサー

私はXamarinでAndroid/iOSの開発を行っています。
ネイティブでの開発経験は基本的にありません。

情報が少ないですが、結論だけ言うと素直にネイティブ実装した方が良いと思います。

以下、私の感想なので他の人の意見も聞いてください。
1つの意見だと思って軽く読んでください。

サードパーティ製のSDK
このSDKがネイティブのライブラリのことであれば、
素直にネイティブ実装(Objective-C)の方が良いと思います。
Xamarinでネイティブライブラリを使う為にはバインディングライブラリの実装が必要でここは沼です。
必ず動く保証もありません。

.Netでの開発経験
.Netでの開発経験というのは具体的に何でしょうか。
C#使えるのでXamarinも使えるだろうというのは甘い考えです。
Xamarinは銀の弾丸ではありません。
アプリ要件にもよりますが、ネイティブ開発の知識はある程度必要です。

Xamarinで開発中の方、開発効率など使い心地を教えてください。
Xamarinは良いものですが、銀の弾丸ではありません。
Xamarinが向いているかどうかは、アプリ要件次第です。

ゲーム、ネイティブライブラリが必要な場合、プラットフォーム固有機能を多く使う場合には不向きだと思います。

iOSアプリ、iOS XAMLアプリとありますが、どちらで作成してもiphoneで利用できるのですよね?
まず、どちらでもiPhoneで利用できます。
iOSアプリというのは、Xamarin.iOSでの実装
iOS XAMLアプリというのは、Xamarin.Formsでの実装となります。
Xamarinと一言でいっても、両者は全くの別物です。
前者はネイティブのラッパーです。
言語こそC#ですが、完全にネイティブの知識が必要です。
後者はマルチプラットフォーム用のもので、UIをAndroidやiOSで共通化する為のものです。
XamlというXMLで画面を構築して、AndroidやiOSでUIを共通化します。

Xamarin.Formsの方がよいように感じると思いますが、
Xamarin.FormsはAndroid,iOS,Winのすべてのプラットフォームで共通化できる部品しかありません。
プラットフォーム固有のViewや機能は提供されていませんので、ここが苦労するポイントです。
固有機能を使いたい場合は、Xamarin.iOSでの実装が追加で必要になります。
ただ、Xamarin.Essentialsなどのライブラリを使えればXamarin.Forms側で吸収可能です。

ここでXamarinについては語り切れません。
Xamarinの勉強会(JXUG)に行くことをお勧めします。

補足
Xamarinの話はググればQiitaでもはてぶでも結構まとめている人がいます。
QiitaのAdvent Calendarなどに有益な情報があると思いますのでそちらをよく見てください。

投稿2019/02/07 10:08

編集2019/02/07 10:12
yamataka3

総合スコア145

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

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

necodow

2019/02/08 00:10

ネイティブ開発の知識も必要と認識しております。  Xamarinでネイティブライブラリを使う為のバインディングライブラリの実装を挙げて 頂きましたが、それ以外にもハマる可能性はありますね。。 .NETを噛ませて開発すれば、とっつきにくさが半減するかな?と淡い期待を抱いておりました。 プラットフォーム固有の機能はそれほど使わない想定ですが、現在のこちらの状況を考慮すると、 Xamarinを使うことのデメリットがメリットを上回りそうです。 また、Xamarin.iOS、Xamarin.Formsについての丁寧なご解説、ありがとうございました。 スッキリしました。 今回は素直にObjective-Cで開発していこうと思い始めています。 ただ、今後クロスプラットフォームでの開発などが要件に上がってきた時に備えて Xamarinの理解も進めておくべきですね。 実際に開発されている方の貴重なご意見、とても参考になりました。 補足に示していただいた情報も、確認して参ります。 分かりやすく丁寧なご回答、深く感謝いたします。
guest

0

Xamarinの経験は無く、iOSはネイティブの開発しかやったことはありませんが、一点だけ補足させていただくと
ネイティブでの開発では、基本的にはObjective-CよりもSwiftを強くおすすめします。

たまに構文が破壊的なバージョンアップをすることがありますが、
C#よりもシンプルに書けることが多いです。
(LINQが無いのでデータ処理で物足りなさは感じるかもしれませんが)

サードパーティ製の(ネイティブ用の)ライブラリはSwiftからでも使えるはずです。

投稿2019/02/08 06:25

takabosoft

総合スコア8356

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

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

necodow

2019/02/12 01:20

回答に対するコメントが反映されていないことに気付いておりませんでした。 お礼が遅くなり、大変失礼致しました。 改めまして、ご回答頂き、ありがとうございます。 導入を想定しているSDKの言語の但し書きに"Objective-C"とある為、Swiftは検討しておりませんでした。 "ネイティブでの開発では、基本的にはObjective-CよりもSwiftを強くおすすめします。" とのコメントにつきまして、もしお手間でなければ、その理由をお聞かせ願います。 ちなみにですが、それぞれの言語でのサンプルコードを眺めた率直な感想として、 Objyective-CはC言語のオブジェクト指向版、ということで納得ではありますが、結構クセがありますね。 C言語よりも、オブジェクト指向言語での開発が長い私としては、Swiftがとっつき易く感じたところです。
takabosoft

2019/02/12 05:40

理由はズバリこれ!という単純な回答はできませんが、とにかく書きやすいという点に尽きるかなと思います。ObjCで散々面倒くさかった構文がSwiftだとお手軽に書ける事が多いです。異論は多々アリそうですが、書き手の感覚としてはC++とC#との関係性がObjCとSwiftの関係性に近いかなと思います。ライブラリがObjCでのみならObjCでも構わないと思います。また、ObjCとSwiftは混在して使うこともできます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問