プログラミングアプリ開発のあれこれ|現役エンジニア伝授

これからアプリを開発したいけど、何をどうしたら良いのかわからないといったことはありませんか?

アプリの開発では

開発にどのくらいのスキルや時間があれば良いのか?

技術的わからず進めなくなったら?

デザインはどうするのか?

など、開発する際には考えなければならないことがたくさんあります。

この記事では、現役エンジニアである筆者がこれまでの開発経験を元にアプリを開発されようとしているあなたへいくつかの注意点をお伝えしています。

ぜひ参考にしてみてください。

お問い合わせ https://goo.gl/forms/0grd1HUWn6wMi5Hi1

目次

プログラミングアプリの開発のあれこれ

プログラミングアプリを作るのは難しい?

プログラミングスクールに通えばなんとかなるのか

開発にどのくらい時間がかかる?

エラーが出た時にどうするか

技術的わからず進めなくなったら?

デザインどうする問題

課金型アプリを複数人で作るなら、創業者間契約書を作成しておくこと

最終的なゴールを決めておく

どれくらいのスキルがあれば作れるのか

プログラミングアプリ開発に適したpcとは?

プログラミングの練習に適したサイト

プログラミングアプリの開発あれこれ

さて、あなたはこれからプログラミングでアプリを開発しようとしています。
とりあえず作りたいものを決めて開発をしようと思っています。

ちょっと待ってください。

プログラミングの開発においては、開発していく際に注意すべきことがたくさんあります。

なので、これまで筆者が経験したことを踏まえて注意点をお伝えさせていただきますね。アプリ開発での負担が減るようになれば幸いです。

プログラミングスクールに通えばオリジナルアプリを開発できるようになるのか

これは一概にそうだとは言えません。

筆者はプログラミングスクール界隈の方の知人も多くいますが、プログラミングスクールではプログラミングの基礎や、転職に特化しているところが多く、オリジナルアプリ開発でもアドバイスはくれても開発自体は自分でやらなければならないことがほとんどです。

ある程度独学でプログラミングを理解して、それからプログラミングスクールを受講して、そこでアドバイスをもらいつつ開発していくのはありかなと思います。

ただし、生半可なことではオリジナルアプリの開発はできません。途中で挫折される方を何人も見てきているので、しっかり事業契約や見通しを立ててから挑戦した方が良いでしょう。

筆者のプログラミングスクールの知人から聞いた話ですが、TECH::CAMPであればオリジナルアプリの開発のアドバイスもしているということなので、気になる方は話を聞いてみても良いのではないでしょうか?

TECH::CAMP 完全無料のプログラミング体験会

またそれでも開発仕切れない方は弊社にご相談いただければ開発のお手伝いをさせていただきます。

まずはご相談ください。

プログラミングアプリ開発にどのくらい時間がかかる?

これも規模によりますが、初心者が作成する際の例をあげますと

簡易的なTwitter
書籍通りに進められれば1ヶ月程度

簡易ブログアプリ
こちらも書籍通りに進められれば1ヶ月程度

ただし、中規模やサービス内容の大きいものになってくると

メルカリ(プロトタイプ)

2〜3ヶ月

note(プロトタイプ):

2〜3ヶ月

といったように時間がかなりかかってきます。例であげてますが、おそらくこの期間は初心者でもプログラミングに慣れてきた方のスピードで、正直なところ初心者はもっと時間がかかると思います。

技術的にわからず進めなくなったら?

ただ、開発を続けているとどうしても技術的に詰まって開発が滞ってしまうこともあります。

その場合には、クラウドソーシングで開発を依頼するか、エンジニアに相談するか、受託会社に任せた方が早いでしょう。
技術的な問題は初心者の場合には違うやり方で実装するか、手伝ってもらった方が早いでしょう。

プログラミングは知識がないと解決できないことも多々あります。そういうときに長い時間をかけてしまうと非常にもったいないです。

弊社でも開発案件は1機能ごとに請け負っていますので、お困りの方はご相談くださいませ。

お問い合わせ https://goo.gl/forms/0grd1HUWn6wMi5Hi1

エラーが出た時にどうするか

エラーが出てわからなくなった場合には、下記のサービスを活用しましょう。

Techry

こちらは筆者が作ったサイトです。プログラミングのカリキュラムを販売できるサイトです。ただ、有料機能自体は実装中です。基本無料でお使いいただけます。

Techry

MENTA

MENTAではエンジニアの方々がプログラミングを教えてくれるサービスを展開しています。

エラーなどが出た場合には、彼らに聞いてみるのも一つの手段です。

いつでも相談できるメンターをさがそう|MENTA

プログラミングの技術資料やQ&Aサイトもどんどん活用していきましょう。

Qiita

日本のエンジニアの技術がこのサイトに詰まっています。

エンジニアの中では技術は共有し合うという文化があります。これは他の業界ではあまり見受けられない慣習ですね。

プログラマの技術情報共有サービス – Qiita

Stack Overflow
Stack Overflowは世界中のエンジニアが技術共有を行なっているサイトです。基本的には英語でのやりとりなので、初心者の方は参考にしづらいかもしれませんが、苦手な方はグーグル翻訳を駆使して使ってみると良いでしょう。

Stack Overflow – Where Developers Learn, Share, & Build Careers

teratail
テラテイルは技術的な質問を投稿でき、それを見たエンジニアがボランティアで技術的質問に答えてくれるサイトです。
エラーの検索などをかけるとかなり文献も出てくるのですが、なぜか私が投稿したものは回答がつきません・・・

teratail【テラテイル】|ITエンジニア特化型Q&Aサイト

デザインどうする問題

これも悩ましい問題です。アプリを作るのであれば、ロゴも必要になってきますし、デザインをどうするかも考えないといけないです。

もしくは簡単なデザインであれば、下記のサイトやBootstrapを使用する方法があります。

floara
好きなデザインブロックを組み合わせてページを作ります。(説明してもわかりづらいと思うので、こちら試してみてください。)

Design Blocks Builder | Froala

Bootstrap

Bootstrapも簡単にデザインを作れるようになりますね。

Bootstrap 4入門 (全22回)

独自のものを作りたいなどのご要望があれば、弊社では専属デザイナーも所属しておりますので、お困りの方はご相談ください。

お問い合わせ https://goo.gl/forms/0grd1HUWn6wMi5Hi1

課金型アプリを複数人で作るなら、創業者間契約書を作成しておくこと

これもアプリを開発される方は念頭に入れておかなければならない問題です。

・アプリを作るときにはサーバー代などもかかるので、その費用はどうするのか?(herokuなどのサービスはサーバー代が無料。ただし恐ろしいほどサーバーが動くのが遅い)

・アプリが売れたときには利益分配はどうするのか?

・何か問題が発生したときには責任の所在はどこにあるのか?

・アプリの方向性はどのようにして決めるのか?

などこれらを決める必要があります。

筆者の経験で言うと、相方と一緒に始めたにも関わらずその相方は全く開発していませんでした。ですが、彼は利益分配を求めてきていたため残念ながらサービス自体の共同開発(共同といえるのか?)は取りやめになりました。

筆者は愚かしくもそのときに、彼を信用していたので契約書などは交わさず、口頭で約束をしていました。これは彼が悪いという話ではなく、人間同士のやり取りでは必ず行き違いもあるので、最初に取り決めは必ずしておいた方が良いということですね。良い勉強にはなりましたが。

といった経験が筆者にはあります。サービスをこの世に出していくのはとても大変です。あとでもめないように、共同で開発する場合には最初に取り決めを決めておく方が良いでしょう。

課金型アプリはセキュリティや組み込みが大変(初心者には荷が重い)

さて、アプリが仕上がってくると、課金型サービスのアプリの場合には決済の機能を組み込まなければなりません。

その場合には利用規約や、決済機能の組み込みを行なっていく必要があります。

決済サービスは下記のサービスがオススメです。

Stripe
筆者はStripeを使用するようにしています。文献が多く、カスタマーサービスの方にお聞きするとかなりわかりやすく教えてくださるのでオススメです。(ただし、手数料が3%と高く、組み込みもちろん自分でやらないといけません)

Stripe – インターネットビジネスのためのオンライン決済処理

PYA.JP
PAY.JPもオススメです。ただし、Stripeよりも文献が少なく、カスタマーの対応もあまり迅速とは言えません。ただし、手数料は安いですね。

PAY.JP

上記の決済機能の組み込みも弊社では行なっておりますので、どうしてもうまく組み込めないかたはご相談ください。

最終的な開発のゴールを決めておく

さてアプリを開発していくと機能の実装はだんだん終わりになっていくフレーズに差し掛かります。

せっかく開発したものをこれからも継続して保守・運営していくのか、それともサービスとしてはストップさせるのか?

ちなみに筆者はアプリのサーバーの速度を落としたくなかったので、herokuなどで運用していくことはあまり考えていません。(実はherokサーバーの速度を無料でもあげる方法はあります。ただし、それでもあまり速度的にはよろしくない)

サービスの開発に関しては、その辺りのゴールも設定して開発を進めていくと良いでしょう。

プログラミングアプリ開発に適したpcとは?

特にどのパソコンが良いなどはないのですが、筆者の周りではMacで開発している方が多いですね。もちろんWindowsで開発されている方もいらっしゃいます。

筆者はMacで開発してまして、理由は一番最初に学習した言語がRubyだったのが大きいですね。

というのもWindowsだとRubyが対応しておらず、仮想環境(パソコンの中に別のパソコンでRubyを入れる場所作る)を立てないといけないのでMacを使ってますね。

あとデザイナーさんと一緒に仕事をするとこれまたMacを使っている方が多いので(というかデザイン系のツールはMacが整ってる)というのもありますね。

ということで、初学者の方はMac買いましょう。Windowsでももちろん大丈夫ですが、スペルは下記くらいで良いと思います。

プロセッサ:最新のもの
メモリ:16 GB (は欲しい。最低8GB)
ストレージ :251GB(まあ、このくらいあれば十分ですね)


プログラミングアプリ開発のあれこれ|現役エンジニア伝授 was originally published in Bit-create on Medium, where people are continuing the conversation by highlighting and responding to this story.

Source: 暗号通貨大学校bitcamp
プログラミングアプリ開発のあれこれ|現役エンジニア伝授