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

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

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

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

Xcode

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

Swift

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

Q&A

解決済

2回答

13335閲覧

【swift】WEBサイトをiOSアプリ化したい

andoryosuke

総合スコア29

iOS

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

Xcode

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

Swift

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

2グッド

14クリップ

投稿2015/11/27 05:31

WEBサイトをiOSアプリ化したいと考えております。
Swift初心者ですので、何から始めていいのかわからず、質問させて頂きます。

アプリ化したいサイトはログイン機能があり、PHPとMySQLを使って構築されております。
WebViewを使ってWebページを表示するだけのアプリではなくネイティブアプリを開発したいと考えております。

下記のURLに似たような質問をしている方がいるのですが、理解できず、質問させていただきました。
https://teratail.com/questions/8812

開発したいアプリの
イメージとしてはwebサイトもあり、アプリもある【MERY】のようなサイトになります。

【MERY】
http://mery.jp/

このようなiOSアプリを開発にあたり
MySQLへの接続の仕方からデータの表示方法、またアプリからアクションした後のMySQLへデータを送る方法などなどわかりません。
またはMySQLへ接続する以外にも他に違う方法などあるのでしょうか?

サンプルコードや参考になる参考書などありますでしょうか?

ご教授お願い致します。

RyougoNishimura, morimorimorio👍を押しています

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

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

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

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

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

guest

回答2

0

ベストアンサー

サーバーとの通信を必要とするiOSアプリケーションを開発する際に特に重要なのは、まずシステム全体の構成を理解することです。

質問者様の既存の環境は

サーバー:Unix or Windows
バックエンド:PHP,MySQL
フロントエンド:JavaScript,HTML,CSS

上記のようなシステムで構成されていると思います。

ここにフロントエンドの環境としてiOSネイティブアプリを追加したいということですね。

バックエンドとフロントエンドの境界面がAPI(application programming interface)と呼ばれるものです。このAPIを経由してiOS端末とサーバーがデータ送受信を行うことになり、API自体は

https://example.com:443/api/reference

と言った、スラッシュで区切られた文字列で構成されています。

Swift側でUITableViewやUITextFiledなどの部品を組み合わせて画面を作成し、SwiftからAPIを呼び出せばサーバーとの通信が可能になります。

セキュリティ上、Swiftから直接SQL文を発行するのはあまり望ましくありませんので、APIを通してPHPにアクセスし、PHPからSQL文を発行してデータベースにアクセスします。

また、非同期通信についての知識が必須になります。このあたりは"Swift 非同期通信"などでグーグル検索していただければたくさんの情報が出てきます。非同期通信を簡易に行うために

AFNetworking
Alamofire

などのオープンソースライブラリが役立ちます。

投稿2015/11/27 11:14

編集2015/11/27 13:36
Unixer

総合スコア143

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

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

andoryosuke

2015/11/29 12:32

ご回答頂きましてありがとうございます。 APIを経由してiOS端末とサーバーがデータ送受信するんですね。 まず自分でAPIを開発しなくてはならないということでしょうか?
Unixer

2015/11/29 15:20

はい。 WebAPIを設計する際には https://blog.katty.in/2992 上記のようなサイトが参考になると思います。 もしCakePHPやZendFameworkなどのフレームワークを利用されている場合、APIの設計の際にも一定のルールに従って構築する必要がありますので、その場合にはフレームワーク提供元の公式ドキュメントなどをご参照ください。
andoryosuke

2015/11/30 03:08

ご回答頂きましてありがとうございます。 JSONを返すAPIを開発するという認識でよろしいでしょうか? また、アプリからアクション(view数・ページクリップ数)した後のMySQLへデータを送る方法などはどのように行えばよろしいでしょうか?
Unixer

2015/11/30 08:38

>JSONを返すAPIを開発するという認識でよろしいでしょうか? はい、そうです。 データベースにデータを書き込む処理のAPIの場合は、成功か失敗のステータスがJsonで返るように、データベースの内容を参照するAPIの場合はデータの内容がJsonで返るようにします。 >また、アプリからアクション(view数・ページクリップ数)した後のMySQLへデータを送る方法などはどのように行えばよろしいでしょうか? 非同期でサーバーにリクエストを送信します。データベース内のデータを参照する場合でも書き込みをする場合でもhttp://〜形式のAPIに引数を付与してリクエストを送信し、サーバー側では受け取ったAPIに応じてWebアプリケーションがデータベースにアクセスするようにします。
andoryosuke

2015/11/30 11:51

ご回答頂きありがとうございます。 何度も何度もコメント頂きありがとうございます。 サンプルコードや参考になる参考書などありますでしょうか?
andoryosuke

2015/12/02 05:31

ご回答頂きありがとうございます。 参考URLありがとうございます。 確認させて頂きます。
guest

0

これ使えると思います。
MONACA(Web言語でスマホアプリ開発)
1個作れればAndroidアプリにもWindowsアプリにもChromeアプリにも...

投稿2015/11/28 00:43

waritocomatta

総合スコア67

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

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

andoryosuke

2015/11/29 12:36

ご回答頂きましてありがとうございます。 MONACAまたはcordovaを使用してハイブリッドアプリの開発も考えたのですが、 iphoneユーザしかいないことと、速度が遅いという情報があるためiosのネイティブアプリの開発を考えております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問