(正しい?)テクノロジーと環境の選択


10

私たちは2人の開発者であり、新しいWeb製品開発を開始しようとしています。

どちらも無駄のないスタートアップアプローチのファンであり、継続的な導入を実践したいと考えています。

ここでジレンマが発生します-私たちは両方ともC#/ Windowsのバックグラウンドから来ており、どちらかを決定する必要があります。

.NETとWindowsに固執することで、新しいテクノロジーの学習に時間を費やすことなく、開発に全力を尽くします。

Ruby on RailsとLinuxに切り替えます。Rubyon RailsとLinuxは、迅速な立ち上げと広大なオープンソースサポートで高い評価を得ています。マイナス面は、Ruby、Rails、Linuxの学習に多くの労力を費やす必要があることです...

あなたならどうしますか?他にどのような考慮事項がありますか?


製品の準備はいつですか?

回答:


11

他のプラットフォームの学習に費やす努力は(ビジネスの観点から)顧客に製品を提供しないことに費やされるため、最も無駄のないオプションは.NETを使用することです。


5

スタートアップでは、自分の強みを発揮してください。.NETテクノロジを使用することをお勧めし、MicrosoftのBizSparkプログラムに参加できるかどうかを確認します。これにより、最小限のリスクで、必要なソフトウェアの手頃な価格のライセンスを入手できます。


BizSparkの有効期限は3年で終了します。つまり、4年目にMSスタックの全額を支払うことになります。実行しているソフトウェアの数とサーバーの数によっては、オープンソースの代替を学ぶ最初に余分なサイクルを費やす。
ジョーダン

2

次の要素を考慮する必要があります。

1)選択したプラットフォームでの展開のコスト(.NET / Windowsのスタートアップライセンスがありますが、最終的にはホスティング/ハードウェアの相対的なコストに加えて支払う必要があります)

2)スキルアップに必要な時間(この場合の.NETではゼロ)

3)何を構築しているか、短期(プロトタイプ、少量使用など)でのプラットフォームの適合性、および長期(スケーリングし、実際にスケーリングするつもりですか、それとも、 B2B(この場合、ボリュームは常に比較的低い場合があります)

私の本能は、他のことを学ぶ必要なく十分に進むことができるので、あなたが知っていることに固執しますが、アイデアの詳細に基づいて他の要因を比較検討する必要があります。


2

Stackoverflowは.Netで行われます。したがって、C#.NetやWindowsテクノロジーに問題はありません。

私の最初のスタートアップはC#.netでした。a)すべての創設者がC#に精通しているためです。b)ビジュアルスタジオは、デバッグなどに関して開発者にとって非常にフレンドリーです。

スタートアップは、ビジネスとテクノロジーの理由から大規模な失敗でした。

どのテクノロジを選択する場合でも、そのテクノロジを使用してX年後に発売するのに十分なスキルを備えているかどうかを検討する必要があります。

ご覧のとおり、上記の基準は十分に厳格ではありませんでした。物事を構築するのにどれくらいの時間が必要かはわかりませんでした。たまたまC#.Netに慣れているだけです。

私たちの誰もが、私たちが構築したいものに近いものを構築した経験はありません。

しばらくすると、サーバーの料金などが原因でC#が廃止され、すべてがphpで書き直されました。それは別の話であり、ビジネス上別の間違いです。

重要なのは、このテクノロジーを使用することです。クールでエッジの効いたものである必要はありません。ウェブアプリを構築したい。だからあなたにあなたに最高のチャンスを与えるものを選んでください。何があなたに最高のチャンスを与えますか?

ほとんどのプログラミングを行う人が、同様に複雑なアプリケーションを構築する前に、実際の経験を持つテクノロジーを選択してください。

上記を10回お読みください。

私が3〜4年前の若い自分のことを話そうとすると、彼は「しかし、私はどの言語でも考えている複雑さについて何もした経験はありません。それで、私はどのように選ぶのですか?」

50,000ドルの答えは(はい、それは私が自分の過ちから学んだ無駄な量です):

あなたの学習開発に最も寛容なものを選択してください。

許しをどのように定義しますか?

たとえば、.NetはWindowsサーバーに依存しています。また、WindowsサーバーはLinuxサーバーよりも高価です。それは事実です。Bizsparkのライセンスを持っている場合でも、ライセンスの有効期限が切れたら、お金を持ち込むことを考慮に入れる必要があります。

3年でC#.netを習得できると思い込まないでください。言うのは難しいです。私にとっては、うまくいきませんでした。

以前RoRを試しました。かつて私は、プログラミングの経験がゼロの2人の投資銀行家に関するいくつかの記事を読んで、Techstarsプログラムへの旅行に関するいくつかのWebアプリで成功しました。

彼らはRoRを使用しています。

プログラミングの経験があります。しかし、RoRは私にとってはうまくいきませんでした。

アマゾンなどから本を買ってみました。真剣に頑張ってくれました。

最後に私はCakephpに落ち着きました。別のウェブアプリを再起動する可能性が最も高いのは、私にとって十分です。自分のペースで学ぶのに十分な寛容さ。

また、あなたがより良いガールフレンドを見つけたのと同じように、より良いガールフレンドではなく、より多くの経験を積んであなたがより良い人であるので、おそらく、私はプログラマーとしても良くなりました

したがって、これはより優れたフレームワーク/言語についてではありません。または、そのCakephpは私が使用した中で最高です。おそらく、ついに、私が念頭に置いていたWebアプリケーションを構築するのに十分なほど優れたプログラマーになったのかもしれません。

打ち上げに最も近づくために最も効果的な方法についてです。

ああ、ここは景品です。

6か月後、アルファ版またはプライベートベータ版でデビューし、顧客のフィードバックを得て、すべてを新しい言語で書き直したいと思いませんか。

回答:

絶対に。絶対に。絶対に。

JoelOnSoftwareの記事には、ソフトウェアのリライトとソフトウェアのリファクタリングがあります。私はそれを見つけるのが面倒です。

彼は同じことを示唆しています。

間違ったテクノロジーを選択した人からそれを取り出して、php(フレームワークなし)ですべてを書き直して、最後にスタートアップをダンプします。そして、プロセスに5万ドルを費やしました。

それは結婚のようなものです。テクノロジーを選択し、死ぬまでスタートアップとテクノロジーの部分を行います。

ええと、私は誇張していますが、すべてのプログラミング状況を別の言語/フレームワークで解決できると考えるのはあまりにも簡単だからです。あなたが別の人を変えることによってより良い結婚をするだろうと考えるのと同じように。あなた自身やあなたのプログラミングの実践に取り組むより多くの仕事ありますが、それははるかに優れています。

幸運を。そして学び続ける。あなたの正気のために、機能を必要最低限​​にまで減らしてください。最小生存可能製品(MVP)については、Googleにアクセスしてください。

それは、選択するテクノロジーよりも重要です。

したがって、このMVPの計画/設計に十分な時間を費やしてください。

計画は重要です。計画はそうではありません。状況の変化や競争に対応する必要があるため、このMVPの計画に4か月を費やした後、計画を破棄する必要がある場合があります。

構いませんよ。4か月の計画は無駄になりませんでした。

これで、4か月前よりもドメインに関する知識が増えます。

したがって、この段階で急いで再作成された計画であっても、4か月前の最初の草案よりもはるかに優れているはずです。

幸運を!


1

ここでは、他のすべての人の粒度に逆らって、オープンソースのルートに行くほうがよいと言います。

私は.NETで約8年間働いており、一般的に知られているほとんどすべてのオープンソースWeb言語とフレームワークを、一般的に同じ時間枠で使用してきました。

無駄のないアプローチを実際に使用したい場合、統合の容易さ、サーバーとソフトウェアのコスト、および生産性は長期的にはより経済的に賢明であることに気づくでしょう。このビジネスは、短期的に見返りがあるかもしれません。

BizSparkは降りるには危険な道です。オープンソースは常に安価または無料ですが、その多額のソフトウェアスタックに対して最終的に全額を支払うことになります。

Rackspaceのクラウドサーバーセットアップでサーバーをセットアップしています。CDNストレージを搭載した独自の光沢のある新しいLinuxサーバーを月額11ドル+わずかな帯域幅とストレージコストで入手できます。それはコーヒーのお金です。

Linuxとオープンソース環境を学ぶには、慣れるのに多少時間がかかるかもしれませんが、熟練するのに数年かかるプロジェクトではありません。数え切れないほどのフォーラム、ウォークスルー、そしてあなたがより良くなるのを手助けしてくれる人がいます。


1
専門的に開発する場合(つまり、これは個人の収入を提供することです)、ソフトウェアライセンスのコストが重要な要素である場合、あなたは本当に自分自身に十分に支払っていません。MSDN-Universal(VLを入手する、ばかげたことは意味がない)でさえ、人々のコストのほんの一部です。
リチャード

@リチャード:しかし、人に支払うだけでよいのに、なぜ人+ソフトウェアライセンスを支払うのですか?そして、私は実際にサーバーライセンスのコストに言及しており、開発者のIDEのお金ではありません。私がそれが間違っているのを見ているだけの場合を除き、サーバーハードウェアをスケールアウトしようとすると、かなりの数のサーバーライセンスとCALを支払う必要があります。それはキラーです。確かに、デバッグlocalhostsを実行しているときは問題になりませんが、実際に無駄のないビジネスを実行しようとしている場合、他に実行可能なオプションがある場合は、なぜさらに$ 1000を支払う必要があるのでしょうか。
ジョーダン

0

私があなたの状況にあった場合、私は最も得意なテクノロジを使用します。会社でも同様の状況があり、クライアントがJavaを要求し、私たちはすべて.NET開発者でした。

初めはすべてうまくいきましたが、後にいくつかの小さなことが私たちにそのような問題を引き起こし、ある時点ではSciFiでした。

私の経験では、新しいプログラミング言語と新しいテクノロジーを学ぶのは簡単ですが、長い時間を必要とすることを本当に知ることは簡単です。


-2

C#とドットネットで実行するだけです。

  • あなたはもう上手です
  • レール上のルビーより良い

2
C#が優れているという主張を裏付けるためにどのデータを使用していますか?そしてあなたの基準は何ですか?
Walter、

1
多くの非常に重要で統計的に有意なデータ
NimChimpsky 2010
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.