Как написать веб-фреймворк как учебный опыт

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

9
задан Joe Cannatti 26 August 2010 в 23:02
поделиться

1 ответ

Я собираюсь дать несколько ироничный ответ:

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

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

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

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

Если вы хотите узнать, что заставляет работать фреймворки, сделайте пару реальных проектов на разных фреймворках/языках. Посмотрите, что работает, почувствуйте, что не работает. Узнайте, на какие компромиссы в дизайне пошли разработчики фреймворка. Попробуйте rails, jsf, seaside, lift, compojure, wicket, ... что угодно.

Развлекайтесь и набирайтесь опыта.

11
ответ дан 4 December 2019 в 20:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: