Ruby on Rails的SWOT分析

SWOT分析图

理论上,SWOT分析描述:

  • 优势-有优势的优点是什么?
  • 缺点-与其他缺点相比,缺点是什么?
  • 机会-可以利用环境的哪些元素来发挥其优势?
  • 威胁-环境中的哪些要素可能引起麻烦?

分析以上几点有两个有趣的观点:

  • 优势机会在提供帮助,而劣势威胁则相反,
  • 优势劣势来自内部,而机遇威胁则来自环境。

通常,我们对环境没有影响,因此这里最好的策略是最大化我们的优势最小化我们的劣势利用现有机会

那是理论。 现在让我们看看2017年Ruby on Rails框架的分析情况如何。

长处

  • 快速的开发 -我加入RoR的原因之一,这是启动新项目并希望很快看到结果时的绝佳工具
  • 许多宝石 -几乎可以解决所有问题而找到现有宝石的可能性很高
  • 好的托管服务 -几年前是一个弱点。 如今,几乎每个托管服务提供商都支持RoR,并且我们拥有像Heroku这样的专业公司
  • 伟大的社区 -会议,本地聚会,论坛,FB小组,许多开源项目以及愿意帮助的人们
  • 良好的营销 -这是RoR成功的一部分。 DHH和社区在“销售”该技术方面做得很出色
  • 很多书籍,课程,教程,学习资料,离线课程,训练营 —这始终是优先事项,因此,您可以找到很多知识来源
  • Ruby作为一种编程语言具有吸引力 –吸引人,简单易用和带来愉悦的目标是该语言的基础
  • 很多程序员 -我们越来越多的公司和项目使用RoR。 结果,程序员的数量增加了。 这有助于扩展框架并增加将其用于其他项目的机会

弱点

  • 消耗大量资源(CPU,RAM) -尽管新版本试图改善这一点,但Ruby和RoR很难与该领域的其他技术竞争
  • 在某些情况下效果不佳 -与上述相同。 在项目达到一定程度的复杂性之后,性能(就可以处理的请求数量而言)比其他技术要弱
  • 对websocket的支持 — Rails 5中引入了ActionCable库,但仍需要一些工作并且性能不佳
  • 对于复杂的系统而言,“单轨方式”有时是不够的 -将MVC范式,胖模型和视图(将模板和视图组合在一起)对于更复杂的系统是不够的。 为此,在Rails世界中没有领先的体系结构。 许多项目都有自己的体系结构或使用其他解决方案
  • 框架本身变得越来越复杂 -Rails 5中至少有7个子框架,并且每个版本的Rails都引入了更多子框架。 这说明了现代Web开发的发展速度,但另一方面却提高了初级开发人员的门槛。
  • 弱的并发模型 -Ruby 1和2中没有好的并发模型。因此,开发人员不使用并发编程。 因此,我们不会从当今拥有的机器中榨取一切

商机

  • 许多现有的大型系统 -需要维护它们,但在体系结构,部署,CI等方面也要提供一些更高级的解决方案。
  • 排名中的稳定位置 -RoR成为成熟的技术。 人们越来越相信它可以用于复杂和高级的系统。 这个机会在框架开始时就被关闭了
  • 对Web编程的需求不断增长 —现在,Rails越来越多地用于后端和API,但Web编程仍然越来越多,而且这种趋势还会越来越高
  • Ruby 3 —计划于2020年进行。该主题有很多营销和希望,但可以肯定的是,它将带有一个不同且更好的并发模型,该模型可以帮助并发编程和许多性能改进

威胁

  • 新的语言或框架 -带有Phoenix框架的Elixir刚刚起步,许多Ruby开发人员已经开始使用它
  • 需要更好的性能 -对于某些规模的项目,Rails不够或太昂贵(服务器数量)
  • RoR程序员的水平越来越弱 -在Rails诞生之初,只有来自Java和PHP世界的最佳开发人员才转向它。 现在,我们在Rails社区中有很多开发人员,他们没有那么高的技能
  • 现代的Web框架不仅涉及CRUD ,而且Web不同于十年前的Web。 对CRUD应用程序的支持不足以确保任何Web框架都能成功
  • Ruby不是主流语言 -目前Ruby在https://www.tiobe.com/tiobe-index/上排名第15位,但是Ruby与其他主流语言(例如Java,C,Python)之间的评级存在巨大差异,JavaScript

Ruby on Rails仍然具有很多优势,并且仍然是一个非常流行的框架(因此Ruby是一种语言)。 毋庸置疑的优势是:快速发展,强大的社区和稳定的市场地位。 从另一方面来说,我有一个印象,即RoR在存在多年之后,仍然具有相同的弱点。 也许只有这些弱点的程度发生了变化。 关于威胁,我不能说同样的话。 10年前,有没有成为“主流”技术而被遗忘的危险。 如今,RoR必须与其他要解决(主要是)Web编程的不同(以及全新)问题的技术竞争。 这些技术希望对开发人员更具吸引力,以使其越来越受欢迎。

我认为,说Ruby on Rails快要死了不是事实 。 如果RoR能够最大程度地发挥自己的优势,最大程度地减少弱点和利用机会,它将长期处于有利地位。 但是如何实现呢?

  • 通过吸引那些需要选择快速发展的人
  • 保持良好的社区
  • 不要试图使框架过于复杂
  • 工作表现
  • 顺应最新趋势,并充分利用对Web编程不断增长的需求,而不忘记已编写且需要维护的大型系统

想首先了解该博客的新文章吗?

立即订阅我的时事通讯! — http://eepurl.com/cVPm_v


如果您喜欢本文并认为对您有用,请用 👏予以支持