Webサービスを作る手順をまとめてみた

Webサービスを作成するにあたって、今考えられる要素は

フロントは特に説明するまでもないが、バックエンドとインフラ、データベース関連がよくわかっていない

バックエンド

最近のバックエンド言語の流行としては

  • JavaScript
    • フロントバックどちらもできる。
  • Python
    • ライブラリが豊富
  • PHP
    • 学習コストが低い
    • データベースへのサポートが厚い
    • 多数のハッシュ関数が用意されていて安全性が高い
  • Go
    • マルチスレッドサポート
    • ライブラリが豊富
    • 高速なパフォーマンス
  • TypeScript
    • JSがありならこっちも使用可能
      が選択肢として挙げられるらしい

フレームワークとしては、

  • Express
    • JavaScript のフレームワーク
    • 初心者に厳しい
  • Django
    • Python のフレームワーク
    • セキュリティに強い
  • Rails
    • Ruby のフレームワーク
    • ライブラリが豊富
    • 初心者に優しい
    • 開発効率がいい
    • 実行速度遅め
    • 型がない
  • Laravel
    • PHP のフレームワーク
    • パフォーマンスが他フレームワークよりちょっと低い
    • 初心者に優しい
  • Spring
    • Java のフレームワーク
    • Javaを使用しているため静的型付けが存在する
    • 個人的に家に本が存在する。

結論としては、SpringかRailsのどちらかかなー

仕組み

静的サイトの場合はこう。

たぶん今回作るのはこっち。
動的サイトはこう。

より図を引用

Vueのサーバーサイドレンダリング(SSR)に関して

正直 NodeJS でいいと思っている。

NodeJSでのサーバーサイドに関してのリンク

ゴミみたいなアフィサイトが検索結果を埋め尽くしているせいで結構見つけるが大変。

Express を使用してもいいなら

データベース

インフラ

Webシステムはアプリケーションとインフラによって構成されている。

特にサーバーサイドを表す。
Webシステムのインフラには、Webサーバ、AP(アプリケーション)サーバ、DBサーバの三種類が必要である。1台では仮想化で実現することができる。

以下の本が参考になるらしい。

Note

ここにもある。

よくネットに書いてあるのは AWSAzure のチュートリアル。

どのみちお金がかかる

コンテナ

コンテナ仮想環境下では自前でサーバーを一応立てられることができる。

たぶんクラウドよりかは簡単だと思う。。。

Herokuもある

作成したスクリプトをクラウドに置く。

  • Heroku
    • 昔使ったことあるから何とかなる

ロードマップ

  1. サイトマップ作成
  2. ワイヤーフレーム作成
  3. プロトタイプ作成
  4. コーディング
    1. フロント作成
    2. バックエンド記述
      1. データベース構築
  5. テスト
  6. ドメイン取得

正直一番わからないのは金銭処理関係

心持ち

  1. Webサービスやアプリを成功させるのは難しいけど、とても楽しいから諦めずに頑張ろう
  2. タイミングを見定めて、人の課題を解決する、「人が欲しがるもの」を作ろう。
  3. サービス開発の本質を理解して、サービスを作ろう。