質問: こんばんは。プログラミングを勉強しています。初心者プログラマーです。 スマホアプリについて質問です。 スマホアプリを開発したく思います。どういうアプリかというととりあえずsnsを開発したいです。 なぜsnsかというとwebでsnsの開発をrailsでしていまして、すごく勉強になったのでスマホアプリでも新しくsnsを開発したいとおもいました。 そこで質問です。スマホアプリのsns開発するとなると、どういう道になりますか。初心者ながら調べたところ、kotlinなどでapiなどでうけとったものを表示する。サーバー側はサーバー言語。rubyなどで書く。こういうふうにざっくり捉えています。他のやり方があったりしますか? あと全国で対戦などをする通信ゲームアプリを作る場合も同じような感じですか? あと勉強のためにレジ会計システムも小規模で作ってみたいなと思っています。スマホをハンディにして、タブレットをマザーとします。スマホのハンディから情報をbluetoothでマザーのタブレットに送り、タブレットの中で保存したりすることは可能ですか?それはどのような言語を使いますか?プラットフォームなどもあれば教えてほしいです。 答えは一つではないとは思いますが、ざっくりとでいいのでイメージを掴みたいので、教えてください。よろしくお願いします。
回答: ローカル(自分の端末内)で完結しないものであれば基本的に クライアント(呼び出し元)とサーバ(応答側)が存在する構成となります。 SNSを作成する場合は大体このような機能が備わっていますよね ・会員登録 ・ログイン(認証)/ログアウト ・PUSH通知 など このような機能についてはFireBaseなどのBaaS(Backend as a service)を使うと 自分でサーバを立てなくても簡単に作成することができます。 ■FireBase https://firebase.google.com/?hl=ja ■Firebaseの各機能を3行で説明する https://qiita.com/shibukk/items/4a015c5b3296563ac19d ■わかる!Firebase ~全てのサービスをおつまみ紹介~ https://qiita.com/dogwood008/items/fa95b62ad151f823af70 独自の機能については自分で実装せざるを得ませんが サーバ側の言語だとPHPは初心者でもとっつきやすく情報も多く得られるかと思います。 なんちゃってサーバで良ければ自分でAPIを設計してリクエストすればJSONで値が返ってくるSwaggerなんてものもあります。 ■Swaggerの概要をまとめてみた。 https://qiita.com/gcyata/items/342073fa7607fd4082bd アプリを作るとなるとネイティブ側、サーバ側、それぞれのアーキテクチャやネットワーク周りなど たくさん勉強することが増えていくのでまずは勉強する方向性を決めて他は外部サービスに頼るという方法がいいかと思います。 自分もアプリ開発はまだまだこれからですがwaikiさんも頑張ってください。