为什么我们在2020年仍选择Ruby?

哈Ha!我请您注意“为什么Ruby在2020年仍是我们的选择?”一词的翻译。 Vira Vashkovska撰写。



我们是经验丰富的Ruby on Rails开发团队。我们中的一些人已经使用Ruby进行了多年开发,并且像手背一样了解它。这就是为什么我们需要很大的勇气来承认Ruby目前还不是最好的。



该语言在2013-2015年非常流行,但随后流行度下降。当我们将2020年的Ruby和Ruby on Rails统计数据与其他工具取得的进展进行比较时,这一点尤其值得注意。 Stack Overflow根据提出的问题数量对Ruby和Node.js的增长动态进行了相当琐碎的比较。是的,这不是最客观的指标,但是您可以理解...



图片



Ruby用户下降了,但这足以宣布Ruby死亡吗?并不是的。如果您看过“ Ruby已死”或“ Ruby不相关”之类的文章,请做好准备-在某些时候,每种语言都被宣布为死亡。以Node.js为例-运行时拥有美好时光-但人们却急于宣布其死亡。



图片



在软件开发人员中,对工具消亡的仓促看法是非常普遍的。我们已经看到了许多宣布死亡的文书,尽管事实并非如此。所有经验丰富的开发人员都知道垂死的语言和框架的故事很受欢迎。



到2020年,Ruby和Ruby on Rails会死吗?



显然,没有火就没有烟。 Ruby绝不是完美的:给开发人员一些理由来考虑切换到其他工具。让我们看一下对Ruby和Ruby on Rails的最普遍的批评,看看它是否值得。



1.“混乱消耗处理器资源。”众所周知,Ruby和Ruby on Rails中的CPU利用率突然达到了很高的水平。开发人员开始他们的典型流程,打开活动监视器,发现CPU使用率为50%甚至100%。通常,这些更改没有明显的原因发生-开发人员不了解自己做错了什么,因此必须终止该过程。



我们的评论:Ruby在CPU利用率方面表现不佳。通常,为了减少消耗,只需编辑配置文件并禁用不必要的后台扫描过程即可。问题通常是代码的质量。我们唯一的抱怨是很难找到这些问题。



图片



2.“动态键入不是好的代码的标志。” Ruby中的动态类型未正确测试。开发人员可能会犯错误,创建无法阅读的代码,而不会意识到这一点。有人认为Ruby代码存储库可以吸引技术债务。



图片



我们的评论:在Ruby中,变量是动态的:一个变量可以引用不同的值,您可以随时对其进行更改。这就是使Ruby成为编写代码最快的语言之一,因此这不是缺点。 Ruby还有一个很棒的垃圾收集器,可以自动检测技术问题,不需要手动配置。使用Ruby进行的大规模成功项目证明Ruby可以非常有序。



3.“没有增长曲线。” 并不是说Ruby变得可怕,而是其他语言变得更加强大了。JavaScript每年都在质量上实现令人难以置信的飞跃,而Ruby却在稳步而缓慢地增长。Rails曾经是明显的竞争优势,但是现在每种语言都有类似Rails的框架。



我们的评论:的确,Ruby on Rails启发了Node.js,JS,Python和许多其他框架。在更新方面,一直使用Ruby的人已经注意到代码速度和质量有了显着提高。2020年的Ruby on Rails与JS框架一样快-我们有一篇文章对此进行了详细解释。



Ruby和Ruby on Rails是许多项目必不可少的



Ruby不是主流语言,但它是最有效的语言之一。人们不会为了娱乐而学习它,而是为了工作而学习。目前,Airbnb,Hulu,GitHub和许多其他主要平台都在使用它。以下是有关基于Ruby的网站及其访问量的一些其他统计信息。



图片



Ruby on Rails 2020生态系统包括GitHub上最受欢迎的社区之一,贡献者超过3500。为了给您一个主意,Django是最受欢迎的Python框架之一,只有1,500个。因此,将2020年的Ruby on Rails与Django进行比较表明,RoR确实表现不错。



Ruby开发快速高效



在Syndicode中,出于许多原因,我们使用Ruby。首先,速度-使用Ruby编写项目所花的时间比其他语言少30-40%。这是因为与Java或Python相比,您需要的代码行少3-4倍。该代码是轻量级的,并提高了性能。



以前,Ruby因其速度慢而著称,但是可以通过良好的编码习惯来解决。我们完全同意Shopify发布的指南-如果您知道如何编写快速的Ruby代码,则非常容易。



图片



Ruby开发对产品所有者的好处



编码速度,更少的行数和出色的框架似乎都是开发的优势。产品质量和性能优势如何?根据我们的经验,Ruby为企业提供了很多服务。



快速上市。 Ruby on Rails是我们进行MVP开发的选择,因为它是使我们能够在不牺牲质量的前提下实现高速编码的唯一工具。



灵活性。由于Ruby代码是如此快速且易于编辑,因此创建和发布更新是一件容易的事。开发人员可以快速发布新功能,将创新引入市场并适应用户需求。



2020年Ruby on Rails的普及:Ruby on Rails平台生态系统轻松胜过大多数后端开发环境,包括Node和Python工具。



很多免费的工具和库。 Ruby和Ruby on Rails的宝石和存储库拥有广阔的生态系统:可重用的代码段可以集成到任何项目中。



经济高效:使用Ruby,您只需支付2-3倍的开发费用即可。这是因为该语言的语法使您可以快速编写。尽管如此,仍然可以使用社区生成的即用型代码来实现许多功能。



跨平台:用Ruby编写的代码在设备和操作系统以及浏览器上都能很好地工作。由Ruby提供支持的我们所有的网站,SaaS和市场在跨平台环境中均能完美工作。



安全性:Ruby和Ruby on Rails非常适合对数据敏感的应用程序(金融平台,市场,医疗保健解决方案等)。Ruby和RoR遵循安全的开发生命周期:开发人员对安全工具,实时监视工具进行优先级排序,并遵守高安全性标准。



Ruby开发的前5个领域



Ruby几乎没有涵盖Web开发的任何方面。但是,根据我们的经验,我们确定了5种主要类型的项目,其中使用Ruby而不是其他通用语言可以``有所作为''。



交易平台



图片



Ruby用于:Airbnb,Hulu,Amazon



市场是连接买家和卖家,允许进行金融交易,交易和购买的巨大Web平台。它们处理大量数据,要求高安全性标准,并且开发时间很长。



我们将Ruby on Rails用于市场上的所有项目,包括非常成功的Clean Agent和HotelCloud。这使我们能够减少开发时间,提高质量并快速发布更新。



软件作为服务



图片



使用Ruby的SaaS:Basecamp,Dribble



软件即服务是一个可在常规订阅基础上持续提供服务的平台。构建成功的SaaS的两个标准是速度和安全性。毕竟,SaaS提供商对客户的成功负有长期责任。可靠性,良好的性能,安全性和快速更新至关重要。这就是为什么Ruby on Rails是SaaS开发的最佳选择的原因。



可扩展性:SaaS迅速增长-公司以每年50-60%的速度增长。代码库必须适应新的需求并处理高负载。 Ruby和RoR允许您快速更改功能并使服务适应新要求。



成本效益:Ruby on Rails具有最重要的Web开发生态系统之一。庞大的GitHub社区,高质量的gem和即用型库都有助于建立强大的基础架构。



我们选择Ruby on Rails for InstaLinks,这是一种SaaS,可生成可从台式机和移动设备访问的智能链接。RoR还可以满足CRM等大型项目的要求-看看我们与UkrVit的案例。



最有价值球员



图片



将Ruby用于MVP的公司(例如Twitter,Shopify,GitHub,Basecamp



Ruby和Ruby on Rails)是进行MVP开发的明显选择。 MVP需要快速开发-产品所有者希望将其分发给用户,向投资者展示周到的服务,并扩大其覆盖范围。



易于构建:即使是一个小的Ruby on Rails和Ruby团队也可以创建一个大型MVP。

易于学习:本机开发人员以后可以快速加入我们的项目,因为学习Ruby on Rails语法简单,因此花费的时间很少。



这是我们的Web开发人员使用Ruby on Rails构建的示例MVP。HelloCare是医疗保健市场,其中安全性和可靠性一直是我们的首要任务。Ruby on Rails使我们能够朝着实现这些雄心勃勃的目标迈进,同时保持上市时间和较低的制造成本。



Ruby on Rails的跨平台应用程序



图片



使用Ruby构建的跨平台应用程序:GitHub的Basecamp,



移动应用程序必须能够利用设备API,发送推送通知以及适应硬件和操作系统特性。一个适用于移动应用程序的良好后端工具应该发送警报,公告,数据同步。我们使用Ruby和Ruby on Rails设置数据库,Web服务器和应用程序服务器的后端。



尽管我们主要将Ruby用于Web项目,但我们经常将这种语言用于跨平台工具。这正是我们使用Kindercare所做的事情,该应用程序可以自动管理和组织日托和学前托儿服务。我们已经使用Ruby和Ruby on Rails开发了该平台的移动版和Web版,并且该应用程序在世界范围内获得了良好的响应和很高的评价。



物联网和人工智能发展带来的创新服务



Ruby on Rails通常被认为是用于简单项目的负担得起的工具,但实际上还远远不止这些。我们喜欢将Ruby和Ruby on Rails用于使用AI,IoT,机器学习等雄心勃勃的产品。



该语言功能强大,足以适应复杂的创新,其简单的语法节省了大量开发工作。



Ruby Gems为AI和IoT创新提供了许多现成的代码。



结论



Ruby永远不会死。统计数据和Syndicode开发人员的经验都指向同一件事:Ruby是一种实用的语言,非常适合解决特定的业务问题。它可能没有提供任何开箱即用的特定方法,这使得它对于诸如Stack Overflow之类的社区而言并不那么有趣,但是它可以工作。



Ruby on Rails的未来更加乐观-而是蒸蒸日上。它仍然是最受欢迎的Web开发平台之一,甚至类似于RoR的框架也尚未赶上原始框架。 Ruby和Rails是用于构建Web和移动解决方案的快速有效的工具-优势无处不在。



如果您打算使用移动版本构建市场,SaaS或任何Web平台,那么Ruby可能是您项目的正确选择。与开发人员讨论时,您肯定会知道,所以请随时与我们联系。



All Articles