无框架运动

2020-05-30 12:00:54

无框架运动是一群对开发没有框架的应用程序感兴趣的开发人员。我们并不憎恨框架,也不会发起反对框架的运动,但是我们认为滥用框架是因为我们缺乏关于技术债务的知识,以及缺乏由普通语言或专用库提供的替代方案的知识。

团队每次使用框架时,都要承担一定的风险。风险在于,经过一段时间后,团队最终得到的工具不再提供任何类型的价值,而且大多数时间都是更改的主要障碍。最重要的是,一个框架可能在软件使用它之前就夭折了,给开发人员留下了沉重的负担。

如果技术决策、业务目标和用户体验之间没有牢固的联系,这种风险就会放大。相反,非功能性需求(如截止日期、生命周期、预算、可用性、未来的业务场景和特定于领域的约束)应该成为架构选择和实现路线图的主要决策驱动因素。

正如我们上面所说的,我们不认为框架是邪恶的。它们是非常强大的工具,用普通的语言和非常通用的方式编写,这一事实使它们成为很好的学习工具,可以帮助任何人学习如何在没有它们的情况下编写代码。为了知道您应该如何以及何时使用特定的框架,您必须了解框架是如何工作的。了解每个框架的优点和限制将使您能够做出正确的框架选择。更重要的是,当你根本不需要的时候,这一点就会变得非常清楚。掌握框架在幕后如何工作的概念将加深您对语言本身的了解。了解该框架的基本原理将使您能够针对遇到的每个特定问题编写更好的代码。

尽管如此,我们认为在选择框架时,应该在项目的整个生命周期中负责任地使用该框架。不断提醒自己,每个工具都有某种权衡。

无框架意味着您必须对技术决策给予正确的重视,并且认识到选择开发一个项目或单个功能而不依赖于框架是真正有可能的!

无框架还意味着,您必须考虑软件必须诞生和上线的整个上下文环境。?包括必须开发软件的开发人员,他们决定是否可以从框架中获得帮助,同时牢记支持这一选择的原因及其权衡。

最后,无框架意味着您不应该认为编写软件是您可以委派到其他地方并依赖其他软件(例如库)来解决特定问题的责任。当你并不真正需要的时候,你可以避免把手和脚绑在整个框架上。

我们的宣言发布在我们的Github存储库。我们坚信,为了使这份宣言有用,我们应该根据我们社会将要进行的对话,在这段时间内对其进行修改。因此,不可能签署这份宣言。如果您觉得本宣言对您的工作有用,请将其与您的网络共享。共享是我们希望人们签署此文档的方式。

因为用户研究、设计活动和业务目标是那些更能阐明非功能性需求的内容,所以我们认为将参与项目的每个人都包括在我们的讨论中是很重要的,包括非开发人员。每一个技术决策,包括框架的选择,都应该考虑到软件所处环境的各个方面。

我们正在收集这个令人敬畏的列表中关于无框架方法的所有资源。请随意添加您认为对我们的社区有用的任何资源。

我们接受任何形式的反馈,因此,如果您想与我们讨论此处所述的任何主题,只需打开一个问题或请求即可。如果您对该项目有任何疑问,可以发电子邮件至info@frameworkless movement.org。