SaaS 定型スターターは、Web 開発コミュニティで非常に人気のあるものになり、その背後にある人々にとっては贅沢なライフスタイルへの道でもあり、月に 5 桁を超える金額を稼ぐこともありました。
その一方で、オープンソースの SaaS ボイラープレート スターターも台頭しています。これは、さまざまなスタックをカバーし、有料のものと同様の機能を提供しますが、完全に無料であり、活発なコミュニティが併設されています。
それで、落とし穴は何でしょうか?無料で手に入るものに、なぜ 300 ドルや 500 ドルも払うのでしょうか?注意すべきトレードオフはありますか?また、各オプションの長所と短所は何ですか?
現実の世界では通常、答えは完全に白か黒かが決まるわけではなく、何が必要か (要件) だけでなく、何が欲しいか (個人の好み) によって決まります。
この記事の目的は、これらをさらに細分化し、次のプロジェクトの定型スターターを選択する際に従うべき客観的でシンプルなフレームワークを提供することです。それでは、本題に入りましょう!
なぜこれらのスターターが突然ブームになったのでしょうか? SaaS は決して新しいものではありません
私たちは皆、何十年にもわたって Web アプリや SaaS を構築してきたのは当然のことですが、なぜ今になってこのようなことになったのでしょうか?今日は誰もが独自のスターターを作成し、コミュニティから大量の興奮 (そしてお金) を得ているようです。
その答えは、過去 10 年間で SaaS (つまり Web アプリ) の構築の複雑さが 10 倍に増加したということです。 部分的には、基礎となるアーキテクチャの進化によるものです (私たちはモノリシックなサーバーベースのアプローチから「リッチクライアント ↔ バックエンド」に切り替えられ、方程式により多くの可動部分が導入され、部分的にはスタックの各部分のオプションが爆発的に増えたことも原因です。
15 年前に SaaS を構築しようとしていた場合、どの言語とコミュニティを好むかに応じて、Ruby on Rails、Laravel、または Django のいずれかを使用することになるとほぼわかっていました。これらはバッテリーを含むソリューションとして提供され、デフォルトで最適な状態を提供し、数時間以内に起動して実行できるようになります。たどるべき道は十分にテストされた 1 つだけであり、多くの決定を下す必要はありません。
今日、座って同じことをしようとすると、考えられるすべてのオプションについて数時間読んだだけで、おそらく頭がくらくらするでしょう。
- フロントエンドには何を使用しますか? React、Vue、Angular などの主流のもの、それとも Svelte や Solid などのよりセクシーで最先端のものですか?
- React フレームワークを使用する必要があります 例:次かリミックスか?それとも React Vite を使いますか?
- SSR と SSG は必要ですか?それともCSRを貫くべきでしょうか?
- API レイヤーとして何を使用すればよいですか? 古き良き REST、それとも GraphQL、あるいはタイプセーフな RPC でしょうか?
- バックエンドには何を選択すればよいですか? Node/Bun/Deno を備えた Express.js のような軽量なものを使用するのか、それとも Nest.js/Django/Rails などの本格的なソリューションを使用するのか?それとも、みんなが話題にしていた Phoenix と Livewire の組み合わせをついに試してみるのでしょうか?サーバーレスにするかどうか?
- データベースと ORM はどうですか? リレーショナルですか、それとも非リレーショナルですか?生のクエリを作成する必要がありますか、それとも Drizzle や Prisma などの本格的な ORM を使用する必要がありますか? 「はい」の場合、どれですか?
- ホスティング オプションは何ですか? 単一のプロバイダーに固定されることになりますか?アプリを別の場所でホストしたい場合、またはホストする必要がある場合はどうすればよいですか?
これらは、2024 年に SaaS を開始する方法を決定する際に検討し始める必要がある質問の一部にすぎません。ご覧のとおり、経験豊富な開発者であっても、頭をクラクラさせるには十分です。正しい組み合わせを見つけるにはロケット科学者になる必要があるような気分になります。
これが、今日人々が SaaS 定型スターターに注目し、喜んでお金を払う理由です。それは、他の誰かが準備作業を行い、(できれば)スタックに関して賢明な決定を下したことを意味します。スタックは今後数年間も最新の状態に維持され、保守が容易になります。
SaaS スターターの突然の台頭について説明したところで、元の質問に戻りましょう - オープンソースの無料バージョンがあるのに、なぜお金を払うのでしょうか?関係する要因をいくつか見てみましょう。
オープンソースの SaaS スターターを使用すると、何をしようとしているのかが正確にわかります
オープンソースの定義により、プロジェクトで使用する前に、スターターの完全なコードを事前に確認して調べることができます 。
事前にコードのすべての行を調べてすべてを理解しようとすることはおそらくありませんが (それが、そもそもスターターを探している理由です)、それをチェックして、どのように気に入るかを確認することはできます -例えばコードのスタイル、読みやすさ、そしてそれがどの程度文書化され、テストされているか。また、リポジトリのアクティビティ統計 (オープンおよびクローズされた問題の数、進行中の機能、コミットの頻度、問題の解決や新機能の追加の速度など) も確認できます。
有料のクローズドソーススターターは、やはり定義上、これらのメリットのほんの一部しか提供しません。著者が設計した価値提案を、いくつか厳選した紹介文やデモで確認することができ、場合によってはドキュメントを覗いてみることもできます。
有料のスターターを使用すると、特別な部族 (別名エア ジョーダン効果) のメンバーになります。
今日最も人気のある有料定型文は、多くの場合、すでに成功した製品を開発した有名な開発者、つまり「インディー メーカー」からのものです。彼らの定型文を購入するのは、高級クラブに参加するような気分です。あたかも彼らの専門知識を活用し、彼らがかつて成功に使用したのと同じツールを使用しているかのようです。
有名なスポーツ選手のサイン入りジャージや、ポップスターと共同制作した香水を身に着けているようなものです。すぐに成功するという保証はありませんが、つながりとインスピレーションを与えてくれます。同じツールを他の誰かが素晴らしいものに変えたということ、そしてあなたにもそれができるということを思い出させられます。
長期的には、この考え方はツール自体よりも重要になる可能性があります。物事が困難なとき、その「クラブ」の一員であると感じることが、あなたを前進させ、アイデアを一歩前進させる原動力になるかもしれません。
セキュリティ: オープンソースでは誰もがレビュー担当者です
有料定型スターターは、ほとんどが 1 人の人の取り組みです。これは、初期の開発段階を過ぎた後は、フルタイムの注意を必要とせず、より季節的な性質を持つプロジェクトのタイプです (ライブラリを最新バージョンに更新するなど)。これにより、1 人にとって完璧な作業量となり、チームで利益を分割するよりもはるかに収益性が高くなります。もしチーム全員が協力していたら、おそらく 500 ドルではなく、2000 ドルかかるでしょう。
最近、人気のある有料スターターの 1 つで、外部関係者による未承認の Web フック リクエストの送信を許可するセキュリティ インシデントが発生し、ビルダーのオンライン コミュニティに多くの波紋を引き起こしました。
迅速に発送することは重要ですが、セキュリティを無視できるものではないことを思い出させてください。また、有料かオープンソースかにかかわらず、SaaS スターターのセキュリティを保証できる人は誰もいませんが、オープンソース プロジェクトでは開発とコード レビューの両方にはるかに多くの人が関わっているという事実があります。コードは無料で利用できるため、コードを自分でレビューしたり、侵入テスト ツールを使用したり、コミットする前に別の専門家にチェックを依頼したりすることもできます。
有料の SaaS スターターではバス係数は 1 ですが、オープンソースでは完全なコミュニティ サポートが得られます。
有料の SaaS スターターは通常、1 人のメンテナーに依存します。コードはクローズド ソースであるため、他の誰もコードにアクセスしたり権利を持ったりすることはありません。何らかの理由で作成者がコードの開発を続けることができなくなったり、作業を続ける気がなくなったりした場合、それで話は終わりです。 サポート、アップデートはありません。 、質問できる人もいません。
一方、Open SaaS のようなオープンソースの定型スターターは、多数の貢献者が背後にいる生命体です。 他のオープンソース プロジェクトと同様、通常は小規模なプロジェクトが存在します。作業の大部分を担い、プロジェクトを指揮するコアチーム (最初は 1 人でよいかもしれません) ですが、いつでも誰でも参加できますし、そうするでしょう。プロジェクトが成長し、より使用されるようになると、必要な修正や機能を自分で追加し始め、特定の部分の所有権を取得する人が増えます。
もう 1 つ考慮すべき点は、SaaS スターター ビジネスが副収入以上のものになるには長い時間がかかり、そこまで到達できるのはほんの一部のビルダーだけだということです。つまり、ボイラープレート作成者のほとんどは、引き続きフルタイムの仕事やその他の仕事を続けることになります。つまり、カスタマー サポートと新機能の追加に費やす時間は限られています。
オープンソース SaaS スターター === 無制限の更新。クローズドソース?時々。
SaaS スターター コードがオープンソースであることのもう 1 つの直接的な利点は、すべてのアップデートがリリースされるとすぐにアクセスできることです。これには、セキュリティ パッチ、バージョン バンプ、完全な新機能の両方が含まれます。
クローズドソースでは、スターターによって大きく異なります。アップセルとしてアップデートを提供するもの (例: ベーシックおよびプロ層)、期間限定のアップデート (例: 1 年) を提供するもの、および生涯のアップデートを約束するものもあります。
有料の SaaS スターターでは、新しいアプリごとに「ライセンス」を購入する必要がある場合があります
もう 1 つ注意すべき点は、有料スターターの場合、1 回のスターター購入で開始できるアプリの数に制限があることがよくあることです。これは通常「ライセンス」という用語で表現され、制限を超えた場合は、スターター コードをすでに所有しているにもかかわらず、法的に新しいライセンスを購入する必要があります。
繰り返しになりますが、これはすべての有料スターターに当てはまるわけではありません (1 回の購入で無制限のプロジェクトを提供するものもあります) が、購入前に確認する価値のある一般的なパターンです。
オープンソース スターターでは、当然そのような制限はありません。完全なソース コードは公開されており、適切と思われるどのような方法でも自由に使用できます。
オープンソースの SaaS スターターを使用すると、新しい機能を自分で追加できます。
オープンソース アプローチの最も魅力的な利点の 1 つは、誰でも貢献できることです。不足している機能や改善したい機能がある場合は、自分で実行してプル リクエストを作成するだけです。その後、コアメンテナがそれをレビューし、アドバイスを与え、必要に応じて正しい方向を示します。統合されると、誰でも使用できるようになります!
まとめ
オープンソースと有料 SaaS スターターの主な違いを説明したので、全体像を見てみましょう。
Cost | Lifetime updates | Unlimited apps | Maintainers | Community | Air Jordans Effect | Easily contribute | |
---|---|---|---|---|---|---|---|
Open-source SaaS starter | YES | YES | Many | Big, public | Rarely | YES | |
Paid starter | 0 | Depends | Depends | Typically one | Sometimes, private | Often | No |
これは、どのルートに行くかを決定するときに知っておくと便利なリストですが、最終的にすべてに適合する 1 つの答えはありません。決定は、具体的に何を構築しようとしているのか、どの技術スタックを使用したいのかによって異なります。
また、上記の要素は誰にとっても同じように重視されるわけではありません。ある人はより広範なコミュニティの一員となり、プロジェクトに簡単に貢献できることに興奮しているかもしれませんが、他の人は強力なオンライン コミュニティがあるという事実を高く評価しているかもしれません。彼らがフォローし、インスピレーションを得ることができる個性。
結局、重要なことは、行動を起こして、長い間考えてきたアプリケーションを無事にリリースすることだけです。幸運を!
以上がオープンソースの SaaS ボイラープレート スターターを使用するか、それとも有償のものを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版
便利なJavaScript開発ツール
