История изменений
Исправление dizza, (текущая версия) :
Первое правило написания своего веб-фреймворка - не пишите его.
Согласны ли вы с этим? Писали ли вы свой веб-фреймворк и почему?
Попробуй представить себя на месте создателей Play! или Struts и подумай как они бы ответили на этот вопрос перед тем как начали ваять свои поделия :) Конечно, существуют случаи, когда создание фреймворка оправдано. Вопрос только в том, что это за случаи.
По своему опыту скажу, что у меня сложилось представление о good design как о наборе эффективных, но частных решений. Мысли глобально, действуй локально (с). Так вот часто выгодно разменять изучение, адаптацию и поддержку универсального фреймворка на написание за пару вечеров своего микро-фреймворка (точнее прото-фреймворка, по моему опыту такие решения в других проектах сложно применить, так как там уже свои частные случаи). Например мне когда-то захотелось делать неблокирующие вызовы по хттп, но внутри колбеков иметь возможность делать инъекции Guice. Пришлось выкинуть Jersey и поверх Grizzly накатать микро-фреймворк с интеграцией с Guice. Получилось прикольно. Ничего и близко подобного из готового я не нашел.
На тему велосипедов очень порадовал пост: http://habrahabr.ru/company/odnoklassniki/blog/148139/
Ребята придумали реально эффективное решение. Обратите внимание на фрустациии быдлокодеров в комментариях на тему «а как же не готовое, зачем велосипед». А вот так, что нужно мозги включать и искать решения, а не думать что какие-то дяди за тебя уже подумали.е
Исходная версия dizza, :
Первое правило написания своего веб-фреймворка - не пишите его.
Согласны ли вы с этим? Писали ли вы свой веб-фреймворк и почему?
Попробуй представить себя на месте создателей Play! или Struts и подумай как они бы ответили на этот вопрос перед тем как начали ваять свои поделия :) Конечно, существуют случаи? когда создание фреймворка оправдано. Вопрос только в том, что это за случаи.
По своему опыту скажу, что у меня сложилось представление о good design как о наборе эффективных, но частных решений. Мысли глобально, действуй локально (с). Так вот часто выгодно разменять изучение, адаптацию и поддержку универсального фреймворка на написание за пару вечеров своего микро-фреймворка (точнее прото-фреймворка, по моему опыту такие решения в других проектах сложно применить, так как там уже свои частные случаи). Например мне когда-то захотелось делать неблокирующие вызовы по хттп, но внутри колбеков иметь возможность делать инъекции Guice. Пришлось выкинуть Jersey и поверх Grizzly накатать микро-фреймворк с интеграцией с Guice. Получилось прикольно. Ничего и близко подобного из готового я не нашел.
На тему велосипедов очень порадовал пост: http://habrahabr.ru/company/odnoklassniki/blog/148139/
Ребята придумали реально эффективное решение. Обратите внимание на фрустациии быдлокодеров в комментариях на тему «а как же не готовое, зачем велосипед». А вот так, что нужно мозги включать и искать решения, а не думать что какие-то дяди за тебя уже подумали.е