今日は1日でスピーディーにWebサービスを作る方法について紹介します。
本記事の対象読者は
- 時間も技術力もない
- デザインもできない
- が、とりあえず、何かWebサービス作りたい
- お金もできればあまりかけたくない
- フォームとか最低限の機能があって、見た目そこそこならそれでいい
- アクセスも作ってみなきゃわからんがな
といった方です。
とにかく、こういった状況でも、どうやってサービスを作るか書いていきます。
インフラ整備
あなたは、とにかく時間もお金も技術力もあまりないので、chefなどのプロビジョニングツールは使わず、サーバーに入って直接いろいろインストールしましょう。
お金がないので、Herokuとかは使わず、Sakuraのサーバーを借りましょう。(1年契約とかなら、Sakuraの方が安い。)
(※もっと最安なものがあったら教えてください)
さくらサーバー:http://vps.sakura.ad.jp/specification/
クソサービスなので、スペックは最低で大丈夫です。
とりあえず、
- ruby
- nginx
など、最低限のものをyumとかでインストールすればいいです。
SSLもお金がないので、Let's Encryptとか使って済ませましょう。
Let's Encryptは簡単にできるので、こちらをご参照ください。
http://qiita.com/yamadagenki/items/111185931ef9a59eb054
ドメインは、お名前.comでlinkやsiteなどにすると、安く済みます。
お名前.com:http://xn--t8jx73hngb.com/)
とりあえず、ランニングコストは年間で合計8000円以内で済みます。
飲み会でいうと、2-3回分我慢すればいい話ですね。
デザインなどの整備
あなたは時間も技術力もないのに加え、デザイン能力もないので、デザインすることや、CSSを書くこと、javascriptを書くことも諦めましょう。
この辺に凝りだすと、一気に時間を持っていかれます。
素直に、デザインをパクりましょう。
お金もあまりだしたくないので、デザインは商用可のフリーのテンプレート集が大量にあるこの辺のものから拾ってきましょう。
商用利用無料!Bootstrap 3, Bootstrap 4をベースに最近のUIデザインのトレンドを取り入れた新作テーマのまとめ:http://coliss.com/articles/build-websites/.../best-templates-for-bootstrap-2015-autumn.html
Bootstrapで作るランディングページ・小規模サイトに、商用無料でバックリンク不要で利用できるテンプレート集 -Designstub:http://coliss.com/articles/build-websites/operation/work/bootstrap-templates-designstub.html
適当に、cssやjsをファイルにぶっこみましょう。
基本的に、時間がない時は
- デザインしない
- CSS・JSは書かない
というポリシーが大事です。
大事なことなので繰り返しますが、
デザインに凝りだすと一気に時間を持っていかれます。
最低限のRails開発
今回作るのはクソサービスなので、開発は基本的にRuby on Railsで開発していきますが、scaffoldをうまく利用して、開発しましょう。
これでかなり開発を高速化できるはずです。
scaffoldを利用した開発(1):http://www.techscore.com/tech/Ruby/Rails/quick-start/Rails4/4-1/
scaffoldを利用した開発(2):http://www.techscore.com/tech/Ruby/Rails/quick-start/Rails4/4-2/
これでめんどくさいフォーム処理を一気にやってくれます。
画像投稿とかは最低限できるようにする、ということを考えると以下のようなgemを付け加えれば十分です。
Rails 4.1 で CarrierWave を使う:http://qiita.com/akishin/items/46b2e239cf4190171da8
carrierwave:https://github.com/carrierwaveuploader/carrierwave
そんなに凝ったことをしようと思わないでください。
なぜなら、あなたには時間も技術力もないのに加え、今回作るのはクソサービスだからです。
もし、万が一ログイン機能とか複雑なことをしようと血迷った場合、絶対にdeviseは使わないことをおすすめします。なぜなら、機能が豊富で複雑だからです。
代わりに、sorceryを使いましょう。こちらのほうが遥かに機能が小さく使いやすいからです。
railsのログイン認証でsorceryを使ってみた(設定編):http://biboroku.megaya.net/entry/2015/01/06/012750
sorcery:https://github.com/NoamB/sorcery
繰り返しますが、難しいことをやろうとは思わないでください。
わがままなあなたは
それでも、あなたはわがままなので、パンクズやサイトマップ、メタタグ等の最低限のSEO対策をしたいと考えるのはもちろんのこと、あわよくば広告収入がほしいと思ったりするでしょう。
そんな時下記のgemをうまく使ってください。
gretel:https://github.com/lassebunk/gretel
meta-tags:https://github.com/kpumuk/meta-tags
sitemap_generator:https://github.com/kjvarga/sitemap_generator
だいたいこの辺を入れれば、そこそこのSEO対策は出来るはずです。
広告は、Google Adsenseをクソサイトに突っ込むと怒られることもあるので、この辺のサービスを使いましょう。
アイモバイル(i-mobile):http://www.i-mobile.co.jp/
ネンド(nend):http://nend.net/
わりかし審査も簡単なので、お手軽です。
さらに、一応は、分析とかもしたいのでGoogle Analyticsとかも突っ込みます。
Google Analytics:https://www.google.com/intl/ja_jp/analytics/
やりかたは難しくないので、ググってください。
ここまでできれば、最低限のわがままはかなったと思います。
管理画面なんて作ってられるか
とにかく、時間がないので、使いやすい管理画面なんて作るのは諦めましょう。
とりあえず、下記のようなgemを使い、さくっと管理画面を作りましょう。
activeadmin:https://github.com/activeadmin/activeadmin
クソサービスなので、管理画面なんてあなたしか触らないので、管理画面への認証はBasic認証で良いでしょう。
テキトーにBasic認証をかけて終わりましょう。
ActiveAdmin with http authentication:http://www.railszilla.com/activeadmin-http-authentication/rails
あとはデプロイするだけ
ここまでくればあとはデプロイするだけです。
サーバーのnginxの設定を見直して、
unicornとcapistranoの設定をして、デプロイするだけです。
Capistrano3でUnicorn+Nginxな環境にRailsをデプロイする:初心者向け:http://qiita.com/zaru/items/9e02706b27094ce36902
余力があるかたは、CircleCIを設定しましょう。
この辺の話です。
個人開発を支えるRailsにおけるCI環境:http://qiita.com/yamadagenki/items/f2f294aa3e4cb9c19c03
最低限、デプロイの設定だけでもしておくと改修からのデプロイが楽です。
おすすめします。
まとめ
今回は、直ぐに簡単なWebサービスを開発する方法について書きました。
1日というのは実際にちょっと初心者にはきついかもですが、
- デザインしない
- CSS・JS書かない
- REST Full以外の動作をあまり考えない
- とにかくデプロイして動くところまでを早く
ということだけ考えて開発すれば、3日以内には動くサービスができると思います。
サービスはリリースしないと、始まらないし、個人開発なんてやる気があるうちにやらないと何も始まりません。
凝って凝って凝った挙句に結局お蔵入りした企画はありませんか?
こだわるならとりあえずリリースしてからということを意識して開発すれば、アイディアは直ぐに形にできます。
最後まで読んでいただきありがとうございました。
これを参考にくだらない、クソサービス大量生産してください!