Los frameworks además se pueden encontrar para programación del lado del servidor y del cliente. Los frameworks del cliente sirven para programar con lenguaje Javascript de una manera rápida y compatible con todos los ordenadores. Mientras que los frameworks para el desarrollo de aplicaciones en el servidor se pueden encontrar sobre varios lenguajes de programación como PHP, .NET, Rubi, etc.
Nivel de conocimientos del desarrollador
El grado de experiencia de un programador es clave para poder sacar partido a un framework. El programador necesita, no sólo tener conocimientos avanzados sobre el lenguaje en el que se basa el framework, sino también un grado básico de arquitectura de software. Si el lenguaje en el que se va a trabajar no se domina, hay que tener en cuenta que el uso de un framework todavía va a complicar las cosas un poco más.
Grado de complejidad de la aplicación a desarrollar:
El desarrollo con un framework suele complicar un poco el proceso de creación de aplicaciones sencillas. Por ejemplo, para hacer el típico "hola mundo" es habitual que sea necesario crear varios archivos con pequeños códigos. Sin embargo, para la creación de aplicaciones mayores define una arquitectura de desarrollo y una forma de hacer las cosas que ayuda a no perderse.
Necesidades de control sobre el proceso de desarrollo
El framework va a marcar generalmente un modo de hacer las cosas y además contiene sus propios programas, que tienen también su modo de funcionar. Aunque nosotros como desarrolladores podremos estar o no de acuerdo con las decisiones que han tomado los creadores del framework, en cuanto al diseño de aplicaciones, siempre tendremos que obedecerlas. Por otra parte, los programas que tiene un framework pueden también tener sus pequeños problemas derivados de un mal uso de los mismos, por lo que en ocasiones un código a todas luces correcto, puede arrojar errores de ejecución en los propias líneas de código del framework, haciendo dificil la interpretación y depuración de los mismos. Por eso, a veces algunos programadores pueden preferir hacer las cosas a su manera y desarrollar aplicaciones sin usar un framework que le obligue a trabajar de una manera determinada.