我已经有很久没有编程了,因为工作分工,我貌似应该做更多其他方面的事情,比如思考如何发展壮大一家公司,利用区块链元宇宙等一堆新概念写个煞有介事的创新方案,或者培训一下运营和销售,让他们能为公司争得更多的利润。
最近看到Rails 7.0 发布的消息,不自觉的了解了一番最近的编程新动向。Rails 就像是一个魔法棒,它是如此让人着魔的喜欢上编程。于是我打算写篇博客,刚好最近计划要招聘实习生,就让这篇博客当做入职第一天的入门指引。
在讲Ruby on Rails之前,我们先从Ruby开始讲起。
什么是Ruby
Ruby 是一门编程语言,就如你所知道的其它编程语言一样。常见的编程语言有C、Java、VB、C++、C#、Python、Javascript、Go、Rust等等,你还可以在 tiobe.com 上面了解编程语言排行榜单,每月更新一次。
2021年12月,Ruby 在 tiobe 上的排行是15,显然Ruby并不是一门热门语言,那我们为什么还那么喜欢Ruby呢?因为Ruby是一门真正面向程序员而生的语言,它的核心宗旨是让程序员快乐的编程。官方对他的定义是:
一门开源的动态编程语言,注重简洁和效率。Ruby 的句法优雅,读起来自然,写起来舒适。。。
什么是 Ruby on Rails
Rails 是一个全栈开发框架。它附带了在前端和后端构建出色的 Web 应用程序所需的所有工具。包括渲染 HTML 模板、更新数据库、发送和接收电子邮件、通过 WebSockets 维护实时页面、为异步工作排队作业、在云中存储上传,为常见攻击提供可靠的安全保护。Rails 做到了这一切,而且还有更多。
可以说 Rails 7.0 是一款真正意义上的全栈开发框架,不仅是真真正正的全栈 Web 开发框架,也同样可以原生构建IOS和Android应用。不仅适合构建一个小型内部系统,也非常适合支撑超大型应用。
天下苦前端久也,最近这几年前端繁荣无比,各种jQuery、Angular、React、Vue.js等等层出不穷的Web前端框架,以及各种构建器NPM、Yarn、Gulp、Webpack令人眼花缭乱。一开始的初衷是代码尽量分离、组件化模块化开发、增加可维护性,而现实中一堆的框架堆叠,不光增加了软件代码的复杂度,可维护性也无从谈起。
随着浏览器全面支持 ES6、ESM,和 HTTP/2 的适配,还有令人兴奋的 importmap 相关标准,这一切变为了可能。Rails7 发挥了以上所有的优势,打造了一个无 Node 依赖的前端解决方案,无须过早引入 npm 包系统或者现代 JavaScript 流程。
现在是参与 Ruby on Rails 的绝佳时机。构建在该框架上的最大应用程序一直在创造覆盖范围和规模的新记录。最佳 Rails 开发人员的招聘竞赛比以往任何时候都更加激烈。每周都有新贡献者的涌入继续推动框架向前发展。
为什么要学 Ruby on Rails
首先,把程序员工作当一门生计,赚钱养家,这是最基本的诉求,我相信每个认真踏实的学生学习2年即可达到这个目标。如果变编程作为你的职业生涯规划,那么就得好生想想了,你所使用的技术会不会很快过时,会不会很快被淘汰,或者你所从事的专项技能会不会非常依赖别的协助,要回答这些问题,我推荐你选择 Ruby on Rails。在我毕业后的前5年中,我先后学习和从事过PHP、C、VB、Java、C#方面的开发工作,甚至还撰写过相关语言的编程书籍(《C#轻松入门》),最后完全是因为个人爱好开始学习Ruby,并用Ruby on Rails编写一些小程序解决工作当中的事情。因为爱好所以坚持;因为爱好,才可能坚持!这是每个人对职业选择的必然结果。
另外,Ruby on Rails 天生为创业而生,就如 Ruby on Rails 官网 所写: from HELLO WORD to IPO。探码从创业至今6年以来,我们的软件层技术栈主要都是 Ruby on Rails。也得益于这样轻量又无限可扩展的框架,我们前前后后做了无数的项目,无数的解决方案,而且大部分代码还在不断的更新中(据调查有60%的软件公司每年80%的时间是在制造代码垃圾,编写永远不再二次更新的僵尸代码)。
如何学习 Ruby on Rails
DHH 是 Ruby on Rails 的创始人和核心贡献者,要学习好 Rails,那一定要追随他, 他的博客地址: https://world.hey.com/dhh/ , 另外需要了解Ruby的官网地址:https://www.ruby-lang.org/zh_cn/ 和 Rails 的官网地址: https://rubyonrails.org,以及官方指南:https://guides.rubyonrails.org/。
还可以关注一些知名的用Ruby on Rails打造的软件,如Shopify、GitHub、Basecamp和HEY等热门应用程序都在运行这个最终版本!