見出し画像

プログラミング知識ゼロから作るSNSアプリ

前回の記事がたくさんの方に読んでいただけているようなので、もっと初心者向けの記事を書きたいと思います。

また、私自身の製作したアプリケーションも参考程度にはなると思うので、ぜひ使ってみてください。

プログラミングの基礎知識

プログラミングにはそれを記述する、プログラミング言語というものが存在します。また、言語によってそれぞれ得意分野が存在します。

Pythonという言語は人工知能やデータ処理の場面で広く使われていますし、今回のようにアプリ作成に用いられる言語もあります。アプリという目標があるなら、やはりそれに特化した学び方をするのが近道です。

アプリというと、ついスマートフォン上のもの、いわゆるネイティブアプリを想像してしまいますが、他にWebアプリというものも存在します。ただ、SNSは使用頻度が大切なので気軽に使えるモバイルアプリの方がよいと思います。

今回はモバイルアプリを想定した記事になります。

プログラミングをしない選択肢

ローコード、ノーコードという言葉をご存知でしょうか。アプリの例で簡単にいうと、プログラミングをほぼせずにアプリを完成させるという手法のことです。

SNSならログイン機能や投稿機能など、必ず必要な機能がいくつかあります。それなら、いちいちそれを作らずに出来たものを組み合わせていく。それなら手間も省けるという発想です。

パワーポイントで、あらかじめ用意されたテンプレートや図形などを使うような感覚だと思っていただければよいと思います。

実際にいくつもサービスが発表されています。ネイティブアプリに対応したものはまだ少ないですが、Googleも参入し、どんどん増えていくと予想されています。

プログラミング知識ゼロの人にとってはこれは大変魅力的です。ログイン機能や投稿機能もクリックひとつで作成できるので勉強量も少なくてすみます。

試しに使ってみる程度なら大抵は無料なので、気軽にはじめられるというのも素晴らしいところだと思います。

ノーコードの弱点

便利さと先進性から、インターネット上にも好意的な意見の多いノーコード開発ですが、もちろん弱点も存在します。

大抵の機能はすぐ完成しますが、逆にいうとありふれたものしかできないという可能性があります。特にSNSでは、同じものを使っている人の数が重要ですから、似たようなものならTwitterで十分ということになってしまいます。

もうひとつ、ノーコード開発は開発サービスを運営している企業に依存する部分があります。そのため、何か変更などがあった時にはその企業の対応を待たなくてはなりません。

変更というのは、例えばiPhoneのiOSアップデートです。iOS14でも混乱があったので気になる方は調べてみてください。事業などに展開していこうと考えているなら、これは少し不安な点だと思います。

ただ、便利なのは確かなのでおすすめのサイトを挙げておきます。

どの言語を選ぶか

ここからはプログラムを書いていく開発手法について書いていきたいと思います。アプリ開発の方法はいくつかありますが、主要なのはFlutterとXcodeかと思います。このふたつはとりあえず開発の道具だと思っておいてください。

Flluterは「Dart」という言語を使っています。AndroidとiOSの両方のアプリを同時に作成できるというのが特徴です。ただし、iPhone内の複雑な機能などを取り扱うときは少し工夫が必要になることもあります。

Xcodeでは主に「Swift」という言語を扱います。これはApple製のものでiOSに対応しています。Androidは想定していない分、iOSには手厚いサポートをしてくれるという印象です。ただ、公式の説明は少し不十分なところもあります。

XcodeはMac用なので、Windowsの方はFlutterになると思います。また、どちらもそれぞれの良さがあるですが、いちばんおすすめなのは周りに使っている人がいる方を選ぶことです。気軽に質問できますし、やる気も持続します。

ライブラリを使う

普段使っているアプリに「ライセンス」というページがあります。これは著作権について表記したものです。実は有名なアプリでも一から十までその企業が作ったというものは少ないのです。

先ほど紹介したように、大抵の機能は誰かが作っています。そのうちのほとんどはオープンソースライブラリという形で配布されています。ただし、著作権についてはそれぞれ指定があるので使用する際には注意する必要があります。

これを使うことによって開発は大変楽になります。私の開発の例でいうと、ログイン機能はもちろん、登録確認メールの多言語送信もできるようになりました。これらについて自分で行ったのはほんの少しです。

ライブラリもアップデートに対応しきれなくなってしまうこともあります。ただ、プログラミングに関する知識があれば自分自身で対応できます。私も非対応の部分を自作することで乗り切った経験がいくつかあります。

特にSNSについていえば、FirebaseというGoogle製のサービスとそのためのライブラリで大抵のことは実現できます。公式の説明も丁寧なので簡単なアプリが作れるようになったあとはすぐ挑戦して大丈夫だと思います。

まとめ

アプリ開発の手法は、ノーコード開発とプログラムを書くというふたつがあります。

ノーコード開発には手軽さという利点がある一方で、開発の柔軟性の少なさ、官邸が他企業任せという懸念点があります。

プログラムを書く場合、ライブラリの力を借りることもできますが、良くも悪くも大部分が自分主導になります。

それぞれ一長一短ですが、ノーコード開発でいくつか開発して、展望のあるものをプログラミングへ、というようなことも考えられると思います。

まずは手を動かすのが一番です。手法をどれか選んだら、簡単なチュートリアルを済ませて早速SNS作りを始めてみましょう。

この記事が参加している募集

いただいたご支援は書籍の購入に充てたいと考えています。よろしければサポートよろしくお願いします。