Memilih teknologi dan lingkungan (kanan?)

10

Kami adalah dua pengembang yang siap memulai pengembangan produk web baru.

Kami berdua penggemar pendekatan awal yang ramping dan ingin melakukan penerapan yang berkelanjutan.

Di sinilah dilema - kita berdua berasal dari latar belakang C # / Windows dan kita perlu memutuskan antara:

Tetap berpegang pada .NET dan Windows, kami tidak akan membuang waktu untuk mempelajari teknologi baru dan mengerahkan semua upaya kami dalam pengembangan.

Beralihlah ke Ruby on Rails dan Linux yang memiliki reputasi baik dalam peningkatan cepat dan dukungan sumber terbuka yang luas. Sisi negatifnya adalah kita harus berusaha keras untuk mempelajari Ruby, Rails dan Linux ...

Apa yang akan kamu lakukan? Pertimbangan apa lagi yang harus kita ambil?

Tor
sumber
Kapan Anda berencana untuk menyiapkan produk?

Jawaban:

11

Yah pilihan yang paling ramping adalah menggunakan .NET, karena upaya yang Anda habiskan dalam mempelajari platform lain adalah (dari perspektif bisnis) upaya yang terbuang untuk tidak membawa produk ke pelanggan Anda.


sumber
5

Di startup, mainkan kekuatan Anda. Saya akan menyarankan tetap menggunakan teknologi .NET dan melihat apakah Anda dapat masuk ke program Microsoft BizSpark . Itu akan membuat Anda mendapatkan lisensi yang terjangkau untuk perangkat lunak yang Anda butuhkan, dengan risiko minimal.

Ryan Hayes
sumber
Saya ingin menunjukkan bahwa BizSpark kedaluwarsa setelah 3 tahun, yang berarti Anda akan membayar harga penuh untuk tumpukan MS Anda pada tahun 4. Tergantung pada berapa banyak perangkat lunak dan berapa banyak server yang Anda jalankan, yang jauh lebih besar daripada biaya dari menghabiskan siklus ekstra di awal mempelajari alternatif sumber terbuka.
Jordan
2

Anda perlu mempertimbangkan faktor-faktor berikut:

1) Biaya penyebaran pada platform yang Anda pilih (ada lisensi startup untuk .NET / Windows tetapi Anda harus membayar pada akhirnya, ditambah biaya hosting / perangkat keras komparatif)

2) Waktu yang diperlukan untuk meningkatkan (nol untuk .NET dalam hal ini)

3) Apa yang Anda bangun dan kesesuaian platform untuk itu dalam jangka pendek (prototipe, penggunaan volume rendah, dll.) Dan jangka panjang (akankah itu skala dan memang Anda bermaksud untuk skala atau itu, katakanlah, B2B di mana volume kasus mungkin selalu relatif rendah)

Naluri saya adalah tetap dengan apa yang Anda ketahui karena Anda akan memiliki banyak hal tanpa harus mempelajari hal lain, tetapi Anda perlu mempertimbangkan faktor-faktor lain berdasarkan spesifik ide Anda.

Jon Hopkins
sumber
2

Stackoverflow dilakukan di .Net . Jadi tidak ada hal buruk tentang C # .Net atau teknologi windows.

Startup pertama saya berada di C # .net karena a) semua pendiri telah mengenal C #. b) visual studio dulu dan masih sangat ramah bagi pengembang untuk debugging, dll.

Startup itu merupakan kegagalan besar karena alasan bisnis DAN teknologi.

Apapun teknologi yang Anda pilih, Anda perlu mempertimbangkan apakah Anda terampil / cukup baik untuk menggunakan teknologi itu untuk diluncurkan dalam X tahun.

Seperti yang Anda lihat, kriteria yang kami miliki di atas tidak cukup ketat. Kami tidak tahu berapa lama kami harus membangunnya. Kita hanya terbiasa dengan C # .Net itu saja.

Tidak ada dari kita yang punya pengalaman membangun apa pun yang dekat dengan apa yang ingin kita bangun.

Setelah beberapa saat, biaya server, dll menyebabkan kita membuang C # dan menulis ulang semuanya di php. Itu adalah cerita lain dan kesalahan bisnis-bijaksana.

Intinya adalah teknologi ini yang akan Anda gunakan, itu TIDAK harus keren, tegang. Anda ingin membuat aplikasi web. Jadi pilih satu yang memberi Anda kesempatan terbaik . Apa yang memberi Anda peluang terbaik?

Pilih teknologi yang orang tersebut lakukan sebagian besar pemrograman memiliki pengalaman AKTUAL membangun aplikasi yang sama kompleks SEBELUM

Silakan baca di atas 10 kali.

Jika saya harus mengatasi diri saya yang lebih muda dari 3-4 tahun yang lalu, dan dia akan berkata, "Tapi saya tidak punya pengalaman melakukan apa pun dari kompleksitas yang ada dalam pikiran saya DALAM BAHASA APA PUN. Jadi bagaimana saya memilih?"

Jawaban $ 50, 000 dolar adalah (ya itulah seberapa banyak saya buang belajar dari kesalahan saya):

Pilih satu yang paling memaafkan bagi perkembangan belajar Anda.

Bagaimana kita mendefinisikan memaafkan ?

Misalnya, .Net mengandalkan server Windows. Dan server Windows lebih mahal dari server Linux. Itu fakta. Bahkan jika Anda memiliki lisensi Bizspark, Anda lebih baik memastikan Anda perlu mempertimbangkan untuk mendatangkan uang begitu lisensi Anda berakhir.

JANGAN berasumsi bahwa Anda akan dapat belajar C # .net dalam 3 tahun. Sulit dikatakan. Bagi saya, itu tidak berhasil.

Saya sudah mencoba RoR sebelumnya. Saya pernah membaca beberapa artikel tentang 2 bankir investasi dengan pengalaman pemrograman NOL berhasil dengan beberapa webapp tentang bepergian dalam program Techstars.

Mereka menggunakan RoR.

Saya memiliki pengalaman pemrograman. Tapi RoR tidak bekerja untukku.

Saya membeli buku dari amazon dll. Saya mencoba. Serius memberikan yang terbaik.

Akhirnya saya memilih Cakephp. Cukup bagus bagi saya untuk memiliki kesempatan terbaik meluncurkan kembali aplikasi web lain. Cukup memaafkan bagi saya untuk belajar dengan kecepatan saya sendiri.

Sama seperti Anda menemukan pacar yang lebih baik bukan karena mereka lebih baik, tetapi karena Anda adalah orang yang lebih baik setelah lebih banyak pengalaman, mungkin, saya juga menjadi lebih baik sebagai seorang programmer

Jadi ini bukan tentang kerangka / bahasa apa yang lebih baik. Atau Cakephp adalah yang terbaik yang saya gunakan. Mungkin akhirnya, saya telah menjadi seorang programmer yang cukup baik untuk membangun webapp yang ada dalam pikiran saya.

Ini tentang apa yang terbaik untuk Anda yang paling dekat dengan peluncuran.

Oh, ini freebie.

Setelah 6 bulan, ketika Anda memulai debutnya dengan alfa atau beta pribadi dan Anda mendapatkan umpan balik pelanggan, dan Anda merasa ingin menulis ulang semuanya dalam bahasa baru, bukan?

Menjawab:

TIDAK PERNAH. TIDAK PERNAH. TIDAK PERNAH.

Ada artikel JoelOnSoftware tentang penulisan ulang perangkat lunak versus perangkat lunak refactoring. Saya terlalu malas untuk menemukannya.

Dia menyarankan hal yang sama.

Mengambilnya dari seseorang yang memilih teknologi yang salah dan kemudian menulis ulang semuanya di php (tidak ada kerangka kerja) dan kemudian membuang startup pada akhirnya. Dan menghabiskan $ 50.000 dalam proses.

Itu seperti pernikahan. Pilih teknologi dan sampai mati lakukan startup dan bagian teknologi Anda.

Oke, saya melebih-lebihkan, tetapi hanya karena terlalu mudah untuk berpikir bahwa semua situasi pemrograman Anda dapat diselesaikan dengan bahasa lain / kerangka kerja. Sama seperti berpikir Anda akan memiliki pernikahan yang lebih baik dengan mengubah orang lain. Jauh lebih baik meskipun lebih banyak bekerja untuk diri sendiri atau praktik pemrograman Anda .

Semoga berhasil. Dan teruslah belajar. Tolong demi kewarasan Anda, menanggalkan fitur ke minimum mutlak. Go google for Minimum Viable Product (MVP).

Itu lebih penting daripada teknologi apa yang Anda pilih.

Jadi habiskan waktu yang cukup untuk merencanakan / merancang MVP ini.

Perencanaan itu penting. Rencana tidak. Anda mungkin perlu membuang rencana Anda setelah menghabiskan 4 bulan merencanakan MVP ini karena Anda perlu bereaksi terhadap perubahan keadaan atau kompetisi.

Tidak apa-apa. Perencanaan 4 bulan tidak sia-sia.

Anda sekarang akan memiliki lebih banyak pengetahuan domain daripada yang Anda miliki sebelum 4 bulan.

Jadi, bahkan jika itu adalah rencana yang tergesa-gesa tergesa-gesa pada tahap ini, itu harus jauh lebih baik daripada draf pertama Anda 4 bulan lalu.

Semoga berhasil!

Kim Stacks
sumber
1

Saya akan menentang keinginan semua orang di sini dan mengatakan bahwa Anda akan lebih baik dilayani untuk pergi ke rute open source.

Saya telah bekerja di .NET selama sekitar 8 tahun, dan saya telah menggunakan hampir semua bahasa web dan kerangka kerja open source yang umum dikenal serta umumnya kerangka waktu yang sama.

Jika Anda benar-benar ingin pergi dengan pendekatan lean, Anda mungkin akan menemukan bahwa kemudahan integrasi, biaya server dan perangkat lunak, dan produktivitas dalam jangka panjang akan lebih bijaksana secara finansial, dan tergantung pada tingkat kemampuan dan waktu Anda untuk dimasukkan ke dalam bisnis ini, dapat membuahkan hasil dalam jangka pendek.

BizSpark adalah jalan yang berbahaya untuk dilalui. Anda akhirnya akan membayar harga penuh untuk tumpukan perangkat lunak yang besar, sedangkan open source selalu murah atau gratis.

Saya memiliki server yang diatur pada pengaturan server cloud Rackspace. Anda bisa mendapatkan server Linux baru Anda yang mengkilap dengan penyimpanan CDN sebesar $ 11 / bulan + bandwidth kecil dan biaya penyimpanan. Itu uang kopi.

Mempelajari Linux dan lingkungan open source dapat membiasakan diri, tetapi bukan proyek multi-tahun untuk menjadi mahir. Ada banyak forum, penelusuran, dan orang-orang yang mampu dan bersedia membantu Anda menjadi lebih baik.

Yordania
sumber
1
Jika berkembang secara profesional (mis. Ini untuk memberikan penghasilan pribadi Anda) jika biaya lisensi perangkat lunak merupakan faktor signifikan Anda benar-benar membayar lebih rendah sendiri. Bahkan MSDN-Universal (mendapatkan VL, tidak ada gunanya menjadi konyol) adalah sebagian kecil dari biaya orang.
Richard
@ Richard: tapi mengapa membayar orang + lisensi perangkat lunak jika Anda bisa membayar orang? Dan saya benar-benar merujuk pada biaya lisensi server, bukan uang pengembang IDE, yang seperti yang Anda sebutkan relatif murah. Kecuali jika saya baru saja melihat kesalahan, setelah Anda mulai mengukur skala perangkat keras server Anda, Anda harus membayar beberapa lisensi server dan CAL. Itu pembunuhnya. Tentu, itu tidak akan menggigit Anda ketika Anda menjalankan debug localhosts, tetapi sekali lagi, jika Anda benar-benar mencoba untuk menjalankan bisnis lean, mengapa membayar tambahan $ 1000 jika Anda memiliki opsi lain yang layak?
Jordan
0

Jika saya berada dalam situasi Anda, saya akan menggunakan teknologi yang terbaik bagi saya. Kami memiliki situasi serupa di perusahaan saya di mana klien meminta java dan kami semua adalah pengembang .net.

Pada awalnya semuanya baik-baik saja, tetapi kemudian beberapa hal kecil memberi kami masalah seperti itu dan pada satu titik kerangka waktu adalah SciFi.

Dalam pengalaman saya, mudah untuk mempelajari bahasa pemrograman baru dan teknologi baru, tetapi untuk benar-benar tahu Anda perlu waktu lama.

Vladica Ognjanovic
sumber
-2

Lakukan saja di c # dan dot net .

  • Anda sudah mahir
  • ini lebih baik daripada ruby ​​di rel
NimChimpsky
sumber
2
data apa yang Anda gunakan untuk mendukung klaim Anda bahwa C # lebih baik? Dan apa kriteria Anda?
Walter
1
banyak data yang sangat penting dan signifikan secara statistik
NimChimpsky