Если вы когда-нибудь пытались создать небольшое или сложное приложение, все может быстро выйти из-под контроля. Я не знаю, сколько проектов я реализовал, когда только начинал, потому что я не знал шаблонов или того, как заставить части системы взаимодействовать, не будучи привязанными друг к другу или зависимыми друг от друга.
Итак, в основном, фреймворк - это набор шаблонов, собранных вместе. Теоретически, если вы научитесь следовать «правилам» (проверенного и верного) фреймворка, ваше приложение не выйдет из-под контроля до того момента, когда вы обнаружите, что исправляете одну ошибку и вызываете две. Я был там, и это не весело.
Я также обнаружил, что, научившись использовать фреймворк, вам изначально не нужно много знать о шаблонах, лежащих в основе того, что вы делаете. Но вскоре вы получите хорошее представление об используемых шаблонах и сможете применить их в новых ситуациях или найти лучший шаблон. Так что это хороший инструмент обучения.
Я уверен, что у людей будут аргументы против использования фреймворков - это только мой опыт. Но если вы познакомитесь с некоторыми из них, вы, вероятно, обнаружите, что один из них подходит для одного проекта, но не подходит для другого.
Что касается фреймворков Flex, мне лично нравится PureMVC. Честно говоря, единственный, кому я уделил достаточно времени, - это Кейрнгорм. Но мне нравится PureMVC, потому что он мне кажется правильным, но также он, как правило, не сильно зависит от встроенных классов Actionscript. Например, он использует свою собственную систему уведомлений. Поэтому, если уведомления изменятся во Flex, они все равно будут работать в вашем приложении PureMVC. Кроме того, создатель Клифф очень полезен на своих форумах, и он действительно увлечен этим. И документация отличная.
Я рекомендую создать супер базовое приложение и создать его без каких-либо фреймворков, а затем еще пару. Вам не нужно заканчивать приложение, а просто почувствовать, что скрывается за рамками.