Выбор (правильно?) Технологии и среды

10

Мы два разработчика, которые находятся на грани начала разработки новых веб-продуктов.

Мы оба поклонники бережливого подхода к запуску и хотели бы практиковать непрерывное развертывание.

Здесь возникает дилемма - мы оба пришли из C # / Windows, и нам нужно выбрать между:

Придерживайтесь .NET и Windows, мы не будем тратить время на изучение новых технологий и вкладывать все свои усилия в разработку.

Переключитесь на Ruby on Rails и Linux, которые имеют хорошую репутацию быстрого наращивания и обширной поддержки с открытым исходным кодом. Отрицательная сторона в том, что нам нужно приложить немало усилий для изучения Ruby, Rails и Linux ...

Что бы вы сделали? Какие еще соображения мы должны принять?

Tor
источник
Когда вы планируете подготовить продукт?

Ответы:

11

Самым простым вариантом является использование .NET, поскольку усилия, которые вы тратите на изучение другой платформы, (с точки зрения бизнеса) были потрачены впустую на то, чтобы не донести продукт до ваших клиентов.


источник
5

В стартапе играйте в свои силы. Я бы предложил придерживаться технологий .NET и посмотреть, сможете ли вы попасть в программу Microsoft BizSpark . Это даст вам доступные лицензии на необходимое вам программное обеспечение с минимальным риском.

Райан Хейс
источник
Я хотел бы отметить, что срок действия BizSpark истекает через 3 года, а это означает, что вы будете платить полную стоимость своего стека MS в 4-м году. В зависимости от того, сколько программного обеспечения и сколько серверов вы используете, это может значительно перевесить любые расходы проводить дополнительные циклы в начале изучения альтернативы с открытым исходным кодом.
Иордания
2

Вам необходимо учитывать следующие факторы:

1) Стоимость развертывания на выбранной вами платформе (есть лицензии на запуск для .NET / Windows, но в конечном итоге вам придется заплатить, плюс сравнительные затраты на хостинг / оборудование)

2) Время, необходимое для повышения квалификации (в данном случае ноль для .NET)

3) Что вы создаете и пригодность платформы для этого в краткосрочной перспективе (прототип, использование с малым объемом и т. Д.) И в долгосрочной перспективе (будет ли она масштабироваться и действительно ли вы собираетесь ее масштабировать или, скажем, B2B, в этом случае объемы всегда могут быть сравнительно низкими)

Мой инстинкт - придерживаться того, что вы знаете, потому что у вас будет много чего, не нужно учиться чему-то другому, но вам нужно взвесить другие факторы, основываясь на специфике вашей идеи.

Джон Хопкинс
источник
2

Stackoverflow делается в .Net . Так что нет ничего плохого в C # .Net или технологии Windows.

Мой первый запуск был в C # .net, потому что а) все основатели знакомы с C #. б) визуальная студия была и остается очень дружественной к разработчикам для отладки и т. д.

Запуск был огромным провалом по бизнесу и технологическим причинам.

Какую бы технологию вы ни выбрали, вам нужно подумать, достаточно ли вы квалифицированы / хороши, чтобы использовать эту технологию для запуска в X лет.

Как видите, приведенные выше критерии не были достаточно строгими. Мы понятия не имели, как долго нам нужно это построить. Мы просто знакомы с C # .Net, вот и все.

Ни у кого из нас нет опыта создания чего-либо, близкого к тому, что мы хотели построить.

Через некоторое время плата за сервер и т. Д. Заставляет нас отказаться от C # и переписать все это в php. Это другая история и еще одна ошибка в бизнесе.

Дело в том, что эту технологию вы собираетесь использовать, она НЕ должна быть крутой, острой. Вы хотите создать веб-приложение. Так что выберите тот, который дает вам лучший шанс . Что дает тебе лучший шанс?

Выберите технологию, которую человек (ы), делающий большую часть программирования, имеет НАСТОЯЩИЙ опыт создания подобного сложного приложения ДО

Пожалуйста, прочитайте выше 10 раз.

Если бы я обратился к своему молодому самому себе 3-4 года назад, он сказал бы: «Но у меня нет опыта делать что-либо со сложностью, которую я имею в виду В ЛЮБОМ ЯЗЫКЕ. Итак, как мне выбрать?»

Ответ в 50 000 долларов (да, именно столько я потратил на изучение своих ошибок):

Выберите тот, который наиболее щадящим для вашего обучения.

Как мы определяем прощение ?

Например, .Net опирается на сервер Windows. И сервер Windows дороже, чем серверы Linux. Это факт. Даже если у вас есть лицензии Bizspark, вам лучше убедиться, что вам нужно учитывать, когда деньги истекают.

НЕ думайте, что вы сможете выучить C # .net через 3 года. Трудно сказать. Для меня это просто не сработало.

Я пробовал RoR раньше. Однажды я прочитал статью о двух инвестбанкирах, имеющих опыт программирования ZERO, и преуспел в каком-то веб-приложении о путешествиях по программе Techstars.

Они используют RoR.

У меня есть опыт программирования. Но RoR просто не работал для меня.

Я покупал книги у Амазонки и т.д., я пытался. Серьезно дал ему все возможное.

Наконец я остановился на Cakephp. Это достаточно хорошо для меня, чтобы иметь лучший шанс перезапустить другое веб-приложение. Я достаточно прощаю, чтобы учиться в своем собственном темпе.

Точно так же, как вы нашли лучших подруг не потому, что они лучше, а потому, что вы стали лучше после большего опыта, возможно, я тоже стала лучше как программист

Так что это не о том, что является лучшей основой / языком. Или этот Cakephp - лучший, который я использовал. Возможно, я, наконец, стал достаточно хорошим программистом, чтобы создать задуманное веб-приложение.

Речь идет о том, что лучше всего подходит для вас ближе всего к запуску.

О, это халява.

Через 6 месяцев, когда вы дебютируете с альфа-версией или приватной бета-версией и получаете отзывы клиентов, и вам хочется переписать все это на новом языке, не так ли?

Ответ:

НИКОГДА. НИКОГДА. НИКОГДА.

Есть статья JoelOnSoftware о переписывании программного обеспечения против программного обеспечения рефакторинга. Мне лень его найти.

Он предлагает то же самое.

Возьмите его у того, кто выбрал неправильную технологию, а затем переписали все это в php (без фреймворка), а затем в конце сделайте сброс запуска. И потратил 50 000 долларов в этом процессе.

Это как брак. Выберите технологию и до самой смерти сделайте свой стартап и технологическую часть.

Хорошо, я преувеличиваю, но только потому, что слишком легко думать, что все ваши ситуации программирования могут быть решены с помощью другого языка / фреймворка. Точно так же, как думать, что у тебя будет лучший брак, если ты поменяешь другого человека. Тем не менее, гораздо лучше работать над собой или своими практиками программирования .

Удачи. И продолжай учиться. Пожалуйста, ради вашего здравомыслия, сократите возможности до абсолютного минимума. Перейти Google для минимального жизнеспособного продукта (MVP).

Это важнее, чем какую технологию вы выберете.

Поэтому потратьте достаточно времени на планирование / разработку этого MVP.

Планирование важно. Планов нет. Возможно, вам придется отказаться от своих планов, потратив 4 месяца на планирование MVP, потому что вам нужно реагировать на меняющиеся обстоятельства или конкуренцию.

Все нормально. Планирование на 4 месяца не пропало даром.

Теперь у вас будет больше знаний о предметной области, чем до 4 месяцев.

Таким образом, даже если на этой стадии это спешно переработанный план, он должен быть заметно лучше, чем ваш первый проект 4 месяца назад.

Удачи!

Ким Стеки
источник
1

Я собираюсь пойти против всех остальных здесь и сказать, что вам будет лучше пойти по пути с открытым исходным кодом.

Я работаю в .NET около 8 лет, и я использовал практически все общеизвестные веб-языки и фреймворки с открытым исходным кодом, а также в течение того же периода времени.

Если вы действительно хотите придерживаться бережливого подхода, вы, скорее всего, обнаружите, что простота интеграции, стоимость серверов и программного обеспечения, а также производительность в долгосрочной перспективе будут более разумными с финансовой точки зрения и зависят от уровня ваших способностей и времени, которое нужно потратить на это. этот бизнес может окупиться в ближайшее время.

BizSpark - опасная дорога, чтобы идти вниз. В конечном итоге вы заплатите полную цену за этот здоровенный программный стек, тогда как открытый исходный код всегда дешев или бесплатен.

У меня есть серверы, настроенные на настройку облачного сервера Rackspace. Вы можете получить собственный блестящий новый сервер Linux с хранилищем CDN за 11 долларов в месяц + небольшая пропускная способность и затраты на хранение. Это кофейные деньги.

Изучение Linux и среды с открытым исходным кодом может занять некоторое привыкание, но это не какой-то многолетний проект, чтобы стать опытным. Есть бесчисленные форумы, прохождения и люди, способные и желающие помочь вам стать лучше.

Иордания
источник
1
Если вы разрабатываете профессионально (то есть, чтобы обеспечить свой личный доход), если стоимость лицензий на программное обеспечение является значительным фактором, вы действительно недоплачиваете сами. Даже MSDN-Universal (получи VL, нет никакого смысла в глупости) - это часть человеческих затрат.
Ричард
@Richard: но зачем платить людям + лицензии на программное обеспечение, если вы можете просто платить людям? И я действительно имею в виду затраты на лицензирование серверов, а не деньги разработчиков IDE, которые, как вы упомянули, относительно дешевы. Если только я не вижу, что это сделано неправильно, как только вы начнете пытаться масштабировать серверное оборудование, вам придется заплатить за довольно много серверных лицензий и клиентских лицензий. Это убийца. Конечно, это не укусит вас, когда вы запускаете отладочные локальные хосты, но, опять же, если вы действительно пытаетесь вести экономный бизнес, зачем платить даже 1000 долларов, если у вас есть другие жизнеспособные варианты?
Иордания
0

Если бы я был в вашей ситуации, я бы использовал технологию, в которой я лучше всего. У нас была похожая ситуация в моей компании, когда клиент запрашивал Java, и мы все были разработчиками .net.

В начале все было просто отлично, но позже некоторые мелочи давали нам такие проблемы, и в какой-то момент времени были SciFi.

По моему опыту, легко выучить новый язык программирования и новые технологии, но чтобы действительно знать, вам нужно много времени.

Владика Огнянович
источник
-2

Просто сделайте это в C # и точка net .

  • Ты уже хорош
  • лучше, чем рубин на рельсах
ним чимпский
источник
2
какие данные вы используете для подтверждения вашего утверждения о том, что C # лучше? А каковы ваши критерии?
Уолтер
1
много очень важных и статистически значимых данных
NimChimpsky