Ruby 项目所需的 15 大工具

已发表: 2020-05-21

Ruby 开发人员可以比其他开发人员更快地编写代码。 为什么? 宝石。 这些是现成的、可访问的工具,可以在任何项目中使用和重用,并提供特定的功能。 使用它们意味着开发人员不必从头开始编写功能代码。 相反,他们可以使用现有的 gem 并在最短的时间内创建最好的 MVP。

因此,大量可用的 gem 对任何使用 Ruby 的人来说都是好消息。 那是因为您可能想到的任何功能都可能有一个宝石。 当然,这将我们引向一个问题:如何为您的项目选择合适的宝石? 为了做出正确的选择,您应该问自己一些事情,包括:

  • 您的需求:需求可分为功能性和非功能性。 选择正确的工具意味着了解您的需求,即您希望更多地关注什么。 例如,如果您要专注于功能需求,请选择一个能够更好地处理主要职责的工具。
  • 期望:您的项目期望是您希望通过该工具实现的结果。 了解这一点将帮助您制定更好的策略,并且您可以明智地衡量结果。 您也可以为此使用您对功能和非功能需求的了解。 此外,请确保期望是现实的。
  • 该工具的社会观点:有多少人使用过它? 他们留下评论了吗? 它实际上是在解决人们的问题吗? 如果用户提交了一个错误,它会很快得到修复,还是人们必须等待很长时间才能更新?

此外,请检查该工具是否包含在受信任的软件开发公司(例如BairesDev )的最常用列表中 如果是这样,您可以毫不犹豫地使用该工具。

  • 集成:工具/gem 是否可以轻松地从您的应用程序中集成? 与该工具相关的 gem 是否已在您的应用程序中使用? 证明文件的质量如何?

一旦你知道了这些事情,你就可以做出明智的决定。 现在,市场上有许多不同的工具可用于不同的类别。 这是按类别列出的最受欢迎的列表。

代码质量

Rubocop:它是一个代码分析器和格式化程序。 它可以与所有 Ruby 实现一起运行,并具有多种结果格式和命令行样式格式等功能。 它可以轻松配置,并具有四个子分析器,称为 Metrics、Style Rails 和 Lint。

Rubycritic:该工具通过使用 Rek 和 Flay 等其他 gem 来提供代码质量报告。 它创建 HTML 文件并将其评级为 A 到 F。它是最方便的代码报告工具之一。

调试

更好的错误:这是一个在静态页面上显示错误的 gem。 它也可以用作 Rack 中间件。 它具有许多功能,例如堆栈跟踪、变量检查、源代码检查以及直接链接到错误行。 人们通常更喜欢在开发模块而不是生产模块中使用这个 gem。

Pry Byebug :它将 Byebug 的功能与 Pry 的功能(如堆栈导航和步骤调试)相结合。 它使用 pry REPL 来获得额外的功能。 你也可以通过这个设置断点。 它可以选择使用 IRB 或 Rails 控制台进行调试。

验证

设计:它是 Ruby on Rails 的身份验证解决方案。 它基于 Rails MVC 堆栈,允许用户通过电子邮件、密码、推荐系统等不同模式登录。 它具有用于不同任务的不同模块,包括:

  • 数据库身份验证:在数据库中存储和管理密码,可通过 HTTP 身份验证或发布请求访问。
  • Omniauth 支持:验证用户
  • 恢复和记忆模块:用于密码管理
  • 跟踪:时间戳、跟踪和 IP 地址管理。
  • 锁定:在特定数量的登录后锁定用户

CanCanCan :这是一个授权库,它限制任何用户可以使用的资源数量。 授权被分成文件并远离标准视图和控制器。 它有两个主要部分,授权库(定义规则的地方)和铁路助手(执行模型的加载和检查)

Rolify :这个 gem 定义了用户身份验证的角色规范。 通过将用户定义为角色,它结合了用户管理和用户安全。 用户分为管理员、特权用户或标准用户,并适当分配资源。

测试

RSpec :它是一个使用 BDD 环境的测试框架。 你可以用可读的 DSL 编写测试,所以很容易理解。 它包括 RSpec 核心、RSpec 期望和 RSpec 模拟等组件,仅举几例。

Capybara :它是一个验收测试框架。 它模拟实际用户如何使用该应用程序。 您可以检查点击率、表单填写和可用性等内容。

Capybara 屏幕截图:您可以将其与 Capybara 一起使用。 它会看到用户源并为失败的水豚测试截取屏幕截图。 它还将存储 HTML 页面,然后可用于进一步的 RCA。

上传文件

CarrieWave :您可以使用此工具进行文件上传和图像处理。 它还缓存文件,以便您可以使用预先上传的文件并节省时间。 它有一个测试选项,并将所有数据保存到分配用于上传的不同文件中,以免移动生产代码。

Minimagick :此工具提供Rmagick的功能,同时节省您的 RAM 资源。 它允许通过使用命令行来使用 Imagemagick 的功能。

全球位置

Geocoder :此工具具有反向和正向地理编码、地理编码 IP 地址以及连接到其他 API 的能力等功能。 除此之外,它还具有额外的功能,例如用于性能增强的缓存。

全球化:这个工具可以将应用程序翻译成不同的语言,并将翻译添加到 ActiveRecord。 该工具还避免了内容重复并保持代码简单。

付款宝石

Stripe :此工具提供对 Stripe API 的访问。 此 API 为所有不同类型的设备(手机和笔记本电脑)提供可定制的支付流程。 它还具有 Apple Pay 和 Amex 结帐功能。 该 gem 可用作强大且有效的电子商务支付解决方案。

Paypal Express:此 gem 允许通过使用 PayPal API 进行定期付款和单笔转账。 转账是即时完成的,这个宝石也可以用于数字商品。

结论

以下是您在使用 Ruby 应用程序时最需要的 15 个工具/宝石。 Ruby 开发人员使用许多不同的 gem 来解决复杂的问题,而易于集成的 gem 有助于避免编写复杂的代码和从头开始创建解决方案。 当然,当您有这么多选择时,您必须了解使用哪些和不使用哪些。 您有责任了解您的要求并相应地使用正确的 gem。

对此有什么想法吗? 在下面的评论中让我们知道,或者将讨论带到我们的 Twitter 或 Facebook。

编辑推荐:

  • 在 Ruby 开发人员中寻找的技能
  • 2020 年最需要哪些技术技能?
  • 3 种推送通知类型可增加应用收入
  • 这个非常有用的学习编码包现在只需 29 美元