фонКак я что-то создаю, когда знаю, что я ошибаюсь?
У меня есть личный проект, который я пытался построить около 5 лет. По сути, это онлайн-игра - веб-приложение. Это не «создатель денег», просто то, что я действительно хочу построить, поэтому найти финансирование для найма квалифицированной команды очень маловероятно.
Я построил два полнофункциональных прототипа на протяжении многих лет, как успешных с точки зрения концепции/пользователя, так и впечатляющих сбоев с точки зрения архитектуры; код был беспорядок, не мог поддерживаться или развиваться дальше, и его нужно было выбросить.
Потребовалось несколько лет, чтобы приобрести навыки, необходимые для создания клиента, который богат/с точки зрения состояния и довольно сложный. Я согласовал свою карьеру и учебу в этой области развития. Я, наконец, нахожусь в точке, где я могу создать прилично архивированный, сложный клиент, который может расти, и его не нужно выбрасывать через 6 месяцев. На этом фронте есть много работы, но, по крайней мере, я знаю, что могу это сделать, и делаю это достаточно хорошо. Очерк - это еще одна история.
До сих пор я перестраивал back-end по крайней мере 11 раз с различными комбинациями PHP, SQL, Ruby, CouchDB, MongoDB, FriendlyORM, NodeJS и т. Д. И т. Д. Я обычно не очень далеко, прежде чем обнаруживать некоторые огромный недостаток с моим подходом и начало: RPC to REST, реляционный к документу. Я хорошо знаю, что преждевременная оптимизация - это корень всего зла, но приложение сильно зависит от быстро движущихся высокодинамичных данных. RESTful API-дизайн, масштабирование, окантовка, кеширование, аутентификация, репликация. У меня нет большого опыта в этом, и я не могу рассчитывать на то, что в ближайшее время будет достаточно прилично. Эти вещи требуют многолетнего изучения и опыта.
Имеет смысл найти специалиста в этой области, но без финансирования я чувствую, что мне нужно успешно развернуть другой прототип, чтобы привлечь нужного человека. Итак, мне нужно будет построить его как можно лучше.
Вопрос
Если предположить, что, однако я построю его, фоновая архитектура будет неправильно, и нужна будет перестроена, что это лучший способ, чтобы продолжить строительство «достаточно просто», чтобы продолжить разработка клиентского приложения? Даже если это противно, есть ли способ «бросить» веб-сервис JSON? Ruby с Sinatra и MongoDB? Django? Есть ли какой-то встроенный webservice builder? Нет необходимости в веб-инфраструктуре полного стека, поскольку нет уровня представления - просто данные. Любые советы будут очень признательны.
@ Franky-D: _ «Я хорошо знаю, что оптимизация - это корень всего зла». Зачем? – 2010-02-19 21:41:38
Возможно, он хотел сказать * преждевременную * оптимизацию? – FrustratedWithFormsDesigner
@ Franky-D Это ** преждевременная оптимизация, которая является корнем всего зла - см. Http://c2.com/cgi/wiki?PrematureOptimization –