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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

2905閲覧

RailsによるAPI開発について(モバイル、SPA)

namenamenameko

総合スコア234

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2017/06/07 07:01

今までRoRを勉強してきましたが、現在モバイル及びJSの勉強をしており、RailsでAPIの開発をしたいと思っているので質問させていただきます。

  • Rails内でJSON形式のレスポンスを返せば、それだけでそのリソースのURLにアクセスすればデータを得ることができるということでしょうか?

  • そのままでは、アプリのユーザでなくても誰でもブラウザでそのデータにアクセスできてしまいます。APIの認証はどういった方法で行うのが一般的でしょうか?(例えば、TwitterのPublicAPIを利用した際はOAuthというのが用いられていたと思います)

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

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

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

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

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

guest

回答1

0

ベストアンサー

Rails内でJSON形式のレスポンスを返せば、それだけでそのリソースのURLにアクセスすればデータを得ることができるということでしょうか? ->
はい、URLにアクセスすることでjson形式のデータを取得することができます

そのままでは、アプリのユーザでなくても誰でもブラウザでそのデータにアクセスできてしまいます。APIの認証はどういった方法で行うのが一般的でしょうか?(例えば、TwitterのPublicAPIを利用した際はOAuthというのが用いられていたと思います) ->
railsでしたら普通はsessionベースのdeviseを使うことが多いと思います。iosやandroid、SPAではrailsベースのテンプレート等を使用することができないので、基本的にはトークン認証でアクセスを制限することになります。
個人的にはrailsのトークン認証はdevise token authを使うことが多いです

また、angularreactを利用してSPAの構築 + nativescript(angular)、reactnative(react)という選択肢もあります。これらはjavescriptをベースとしているフレームワークですが、SPAの構築で作成したコードをそのままネイティブアプリ化することも可能なのでswift、javaの学習コストを削減することができます(ロジックの修正は少なめ、viewサイドは要修正)

投稿2017/06/07 16:46

hiyashikyuri

総合スコア388

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

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

namenamenameko

2017/06/08 00:42

ありがとうございます、参考になりました。 deviseは用いていましたが、devise token authについても調べてみます。 React(Native)は多少勉強しましたが、やはりまだネイティブ言語の理解もないと厳しいのではないでしょうか。
hiyashikyuri

2017/06/08 01:31

僕もこの辺の分野にめちゃめちゃ詳しいわけではないんですけど、ネイティブ言語を知らなくてもなんとかなるなーと思います。 nativescriptの場合だと完全にTypescriptでいける感じですね、reactの方は分かりませんが。。 ただ、javascriptベースのアプリを作りよりもネイティブ言語の方が早いと思いますので、メリットデメリットはその辺りに落ち着くのではないでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問