As an architect, I approach all development design from three practical metrics: Overall performance, ease of use, ease of maintainability. All religions, beliefs, and previous loyalties are reset each project to ensure the best possible combination of these factors.
As the industry continually labors to rebuild wheel after wheel, the religions of how this is best done have divided the community into groups. My approach is to look at the problem being solved, and start from the most versatile cost effective platform choice, and build in complexity where needed. My architectural approach organizes classes into logical groupings based on the overall design, and how we as developers discuss the modules. Very cautious about rushing into early adoption that will drive up labor costs, and delay development. Less is more is my overall approach.