包括各种中间件、开发框架、开源组件等,它们通过提供编程人员常用的各种程序组件库,以及通用开发框架和开发环境,来减轻程序员的工作量,提高程序员的开发效率。这些工具带来的好处是,程序员一旦掌握后,能够较轻松完成一些更强大的、平台支持的任务,但是,缺点也是明显的,一是掌握起来,不亚于掌握一门程序语言,即入门慢;二是仍然非常依赖高水平的程序员,而这些程序员目前在市面上非常紧缺;第三,更为重要的是,所有这些程序组件和公共框架,是需要程序员根据实际情况进行修改的,通过他们手写的程序进行重组、调用和串起,从而最终实现我们的应用。这就意味着新写的代码必然带来BUG,由此衍生出更多的测试、返工成本。