When developing a system or application that you plan to use with a certain framework, is it best practice to design the system without the framework in mind, or is it better to design the system with the mindset well the framework would have an easier time with this.
When designing a system, is it best practice to cater the design around the framework you will be using?
development process;systems
Your design should meet the clients needs as closely as they can.  Remember that design includes little things like:User experienceFunctionalityHow pieces of your application communicate (either with itself or external entities)None of these things should be dictated by the framework.  If it's clear that you will be fighting your framework to accomplish these goals, then you choose a new framework that will help you accomplish those goals before you start writing code.Once you've chosen an appropriate toolset (the framework is a tool), then I recommend using the tools the way they are designed to be used.  The further you deviate from the framework design the more you increase the learning curve for your team, and the greater chance of something going wrong.In ShortDesign for your usersPick the appropriate tools to accomplish your designUse your tools the way they are designed to be usedFurther Thoughts:After 20+ years of software engineering, and using several frameworks, I've learned a couple lessons.  All frameworks are a double edged sword: they both constrain and enable.  The issue with deciding your framework before you look at the big 3 I mentioned above is that you might be compromising a good user experience for a mediocre (at best) one.  Or you might be forced to deviate from the frameworks design to accomplish some specific functionality.