Как написать веб-фреймворк как учебный опыт - PullRequest
9 голосов
/ 27 августа 2010

Я хотел бы написать свой собственный (игрушечный?) Веб-фреймворк в качестве учебного опыта.Я хочу пройти весь процесс с нуля.Я бы хотел, чтобы он обслуживался через Apache в Linux.Я ищу лучший путь к пониманию каждого шага того, что происходит при использовании веб-фреймворка.Я хотел бы использовать любой язык, который облегчает этот процесс.Какой лучший способ для меня это сделать?Под «лучшим» я подразумеваю «приводит к глубокому пониманию всего, что происходит в современной веб-среде».

1 Ответ

11 голосов
/ 27 августа 2010

Я собираюсь дать слегка языком в щеку ответ:

Если бы я начал эту работу, я бы начал с написания 3-5 веб-приложений без поддержки фреймворка. Выясните, что всегда одинаково, и учтите это. Рефакторинг приложений, чтобы использовать его.

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

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

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

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

Веселись и получай опыт.

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