欢迎来到Ruby on Rails 学习备忘单

撰写本文时的年份是 2023 年。Rails创建于2004年18月。Ruby on Rails已超过<>岁!直到今天,经过这么长时间,你会发现充满激情的长期 Rails 开发人员,他们发誓该框架是构建和发布应用程序最高效的框架,但许多人已经理所当然地认为今天开始使用 Rails 的感觉以及大量其他已经赶上来的框架。

为什么要考虑 Rails?

Rails(和Ruby)非常关心开发人员的幸福感和生产力。它优化了“,我今天做了很多事情”的伟大感觉。你首先构建一个Web应用程序,它可以集成到Android和iOS应用程序中(稍后会详细介绍)。

阅读 Rails 原则是一个很好的地方,可以让您了解 Rails 社区渴望成为什么样的人。尽管有这些愿望,但有时你会发现自己在 Rails 中处于非常迷失方向的地方,比如AssetsPipline。总的来说,Rails是一种非常愉快的开发人员体验。

开始

如果您是第一次开始使用 Rails,您需要在构建 Rails 应用程序时在浏览器中打开并准备好这些资源。

Ruby on Rails

Rails Guides 是开始阅读构建 Rails 应用程序的基础知识的好地方。即使你已经超越了基础知识,你仍然会发现自己登陆指南来了解特定的Rails库是如何工作的。

Ruby on Rails接口

当你的旅程经过教程时,你会发现自己参考了API文档,以了解特定类或方法在Rails中是如何工作的。这是一个您需要随身携带的参考。

Ruby文档

就像Rails API一样,您将从Ruby语言及其标准运行时中使用大量内容。有时很难知道Ruby中的内容与Rails中的内容,特别是因为Rails中有一个庞大的库,它扩展了称为Active Support的Ruby语言。

chatGPT

随着OpenAI的Chat GPT-4和Google的Bard等大型语言模型变得越来越强大,它们也成为更好的工具,以帮助回答刚开始使用任何新编程语言的人的问题。GPT-4 是获得帮助的绝佳资源,但请注意,它非常乐意给出看似合理的答案,但要么完全错误、令人费解,要么不是最佳实践。

你不可避免地会遇到Rails的东西

在初学者指南中可能不会说,但大多数发布 Rails 应用程序的人都在他们的堆栈中使用这些技术。

Postgres

rails new默认为 SQLITE,这是一个非常棒的数据库,但是当需要部署到生产环境时,大多数人选择 Postgres 作为他们的数据库。

Redis

我开玩笑说,“它真的应该被称为Rails on Redis”,这是真的。Redis 可以在 Rails 中用于缓存、后台作业处理以及 WebSockets、ActionCable 和 Hotwired。

雷迪斯真的是一把瑞士军刀。它非常适合缓存,因为将数据读取和写入 Redis 非常快。它还附带发布/订阅功能,使其适合后台工作人员使用,并通过 WebSocket 将通知推送到浏览器。

Sidekiq

Web 请求应该很快,但有时应用程序需要执行一些需要几分钟的操作,例如更改大型视频文件的分辨率。在 Web 应用程序中,您最不希望看到的是让 Web 服务器花费几分钟来完成请求 — 这样做可能会使您的 Web 应用程序处于爬网状态,因为请求会堆叠在队列中等待服务器响应。

Rails 中的解决方案是将此请求卸载到后台工作线程,从而释放 Web 服务器以继续接收来自其他客户端的请求。

Sidekiq是最流行的后台worker框架。使用它不会出错,因为它在生产中经过了许多大型 Rails 应用程序的测试。

Hotwire

Hotwire是Rails的一部分,但如果你登陆他们的网站,你只会看到Rails作为脚注被提及。在Rails内部,你会看到这些被称为TurboStimulus

Hotwire是由创建Rails的人创建的,目的是大幅减少需要编写和部署到客户端的JavaScript数量。这种构建低延迟交互式Web应用程序的方法在过去几年中迅速普及,以应对Rails开发人员在构建JS应用程序时遇到的日益增加的复杂性和挫折感。

默认情况下,当您创建新的 Rails 应用程序时,将包含该框架。

在 Rails 应用程序的根目录中,您将看到一个 .该文件中的条目指向由托管在 https://rubygems.org 上的 Ruby 开发人员社区维护的包。Gemfile

截屏视频

当你厌倦了阅读文档,只想坐在沙发上看Rails时,有一些值得注意的截屏视频值得一看。

GoRails

GoRails在庞大的视频库中涵盖了各种各样的Rails和Ruby主题。对于喜欢逐步解决问题的初学者来说,这真的是一个好地方。

RailsCasts

对于那些十年前开始的人来说,这是一部经典之作,今天仍然令人惊讶地具有相关性。Pro视频最近由作者免费提供,因为这些视频已经过时。

延长Ruby on Rails

当您开始向应用程序添加更多功能时,您将开始查看为 Rails 应用程序添加功能的插件,例如身份验证、支付等。幸运的是,有一些非常好的资源可以帮助您确定哪种宝石最适合您的项目。

Ruby Toolbox

当我做研究,看看我需要在 Rails 中安装什么 RubyGem 来解决问题时,我首先 https://www.ruby-toolbox.com 看看还有哪些类似的库存在。这有助于我更明智地决定应该关闭哪个库。

Awesome Ruby

Awesome Ruby是Ruby和Rails社区在其应用程序中使用的流行RubyGem的更简短的列表。

通讯

你不需要订阅所有这些,但值得每周至少阅读一次,这样你就可以跟踪Rails的所有新内容和变化。

Ruby周刊

包括有关Ruby&Rails的一般新闻和更新,新教程和文章的链接,以及有关新代码和工具或已更新的部分。

Ruby简报

Tweets & Toots 的摘要,来自在 Rails 和 Ruby 社区中研究有趣问题的人们。

本周 Rails

来自 Rails 团队的每周时事通讯,涵盖 Rails 中的更改和新功能。这封新闻信更狭隘地关注了 Rails 框架的变化,所以如果你只订阅这个,你会错过很多关于 Ruby Gems、插件和有趣的社区教程的其他新闻。

移动应用

如果你想要为Rails发布一个移动应用程序,那么有一个完整的堆栈。Rails背后的团队还发布了库,可以更轻松地将Rails应用程序与移动应用程序集成。

Rails背后的团队提供了一个库,使与Rails的基本集成成为可能。框架中仍有许多空白需要填补,例如身份验证。

Hotwire Native

 

蜀ICP备15035023号-4