re2020 bt2020_为什么在2020年仍然是一个不错的选择?

re2020 bt2020

We at SoluteLabs love meddling around with tech, especially if it’s something fresh off the oven like Flutter. Here, we were sitting around on a Wednesday noon, playing truth or dare and passing the 8-ball around, when one of our developers posed the question:

SoluteLabs的我们喜欢介入技术,特别是如果它像Flutter这样新鲜的东西。 在这里,我们坐在一个星期三的中午,玩真心话大冒险,然后将8球传给我们,其中一位开发人员提出了这个问题:

Which is your favourite application development framework?

您最喜欢哪个应用程序开发框架?

Okay, this might not be as exciting as saying, “How many tequila shots can you down at one go before passing out?” but these are developers we are talking about.

好吧,这可能不如说“在昏倒之前,您可以一口气倒下几张龙舌兰酒吗?”那样令人兴奋。 但是这些是我们正在谈论的开发人员。

The answers came quickly.

答案很快就来了。

Django. Ruby on Rails. Laravel. Ruby. Symfony. RoR.. and so on.

Django的。 Ruby on Rails。 Laravel。 Ruby。 Symfony。 RoR ..等。

Ruby on Rails won this popularity contest, despite being one of the oldest technologies on the list.

尽管Ruby on Rails是清单上最古老的技术之一,但仍赢得了这场人气竞赛。

Interest in Ruby on Rails has been waining, this much we know, but the technology still seems to be popular among hardcore developers.

我们都知道,人们对Ruby on Rails的兴趣正在减少,但是该技术似乎仍然在硬核开发人员中很流行。

Ruby on rails(RoR) Google Trends

As you can see, the graph has flatlined over the past year, and considering the fact that RoR is more than two and a half decades old, this is quite an achievement.

如您所见,该图表在过去的一年中一直趋于平稳,并且考虑到RoR已有两年半的历史了,这确实是一项成就。

To put things into perspective, we have almost forgotten about Psy’s Gangnam style song, which is just eight years old!

放眼来看,我们几乎忘了Psy刚成立八年的江南风格歌曲!

Psy’s Gangnam style song gif
Image credit图片信誉

So we did a deep dive to see what keeps this RoR engine ticking, and found the key reasons why developers still feel using the technology will lead to RoaRing success (pun intended).

因此,我们进行了深入研究,以了解使该RoR引擎保持运转的原因,并发现了开发人员仍然认为使用该技术将导致RoaRing成功(双关语意)的关键原因。

Here are our top seven picks:

以下是我们的前七个精选:

Ruby非常成熟。 (Ruby is highly mature.)

For the first few years after the release of any new programming language, the developers take it apart and use it to build things that were unheard of before. The language becomes “trendy” there is a bunch of cool stuff coming out every week, and the excitement in the air is electric.

在发布任何新的编程语言后的头几年,开发人员都会将其拆开并用它来构建以前闻所未闻的东西。 语言变得“时髦”,每周都会涌出很多很棒的东西,空气中充满了兴奋。

This was also the case with Ruby way back in 1995 when Yukihiro Matsumoto released it to the world, to create a language that was “natural, not just simple to understand.”

Ruby的情况也是如此,早在1995年,松本行弘(Yukihiro Matsumoto)便将其发布给世界,以创造一种“自然的语言,而不仅仅是易于理解的语言”。

In 2003, an employee of 37 signals called David Hansson, made things easier for the whole developer community by creating Ruby on Rails, simply called ‘Rails.’

2003年,拥有37个信号的员工David Hansson通过创建Ruby on Rails(简称为“ Rails”)使整个开发人员社区变得更加轻松。

We won’t bore you with more Ruby history, but a little back story is required to get the proper context.

我们不会为您带来更多的Ruby历史,但是需要一些简单的背景知识来获得适当的上下文。

Now that you know how Ruby has been around for more than two and a half decades, the hype around it has surely died down, and what was once cutting edge has now become commonplace.

既然您知道Ruby已经存在了二十多年半了,它周围的炒作肯定已经消失了,曾经的尖端技术现在变得司空见惯。

The language, in other words, has ‘matured.’

换句话说,该语言已经“成熟”。

But does maturity mean the language has become boring? Hell No.

但是成熟是否意味着语言变得无聊了? 一定不行。

Maturity means that the Ruby code is now more stable and refined, and Web Applications written on Ruby are much more maintainable.

成熟度意味着Ruby代码现在更加稳定和完善,而用Ruby编写的Web应用程序则更具可维护性。

Good developers know that code need not be written in the hottest new framework if it becomes a pain to support for the coming years. Instead, code stability that comes with maturity directly translates to saved time, which can then be used to focus on improving the application logic-or playing more foosball. A winner all around.

优秀的开发人员知道,如果在未来几年内难以支持,就不必在最热门的新框架中编写代码。 相反,成熟度带来的代码稳定性直接转化为节省的时间,然后可以将其用于专注于改进应用程序逻辑或玩更多的足球。 周围都是赢家。

In other words, Mature Ruby Code > Code in Hot New Framework.

换句话说,“ 成熟的Ruby代码”>“ Hot New Framework中的代码”。

Ruby的大型开发人员池 (A large developer pool for Ruby)

A good starting point to see if a technology is “in” or “out” is to see the number of job openings the technology has.

判断一项技术是“入”还是“出”的一个很好的起点是查看该技术的职位空缺数量。

So I ran a quick Linkedin search for “Ruby on Rails developers.”

因此,我在Linkedin中快速搜索了“ Ruby on Rails开发人员”。

The results? Well, see for yourself.

结果? 好吧,自己看看。

Ruby on Rails developers in worldwide linkedin search result

A whopping 31,000 openings worldwide. Now, if Ruby On Rails were a dying technology, that number is surely bound to be way lower.

全球范围内开设了多达31,000个职位。 现在,如果Ruby On Rails是一种垂死的技术,那么这个数字肯定会更低。

A large developer pool also means that there is a large repository of Ruby gems ready to use. Ruby gems are self-contained library formats that help you carry out complicated tasks.

庞大的开发人员池也意味着有一个可供使用的大型Ruby gems存储库。 Ruby gem是独立的库格式,可帮助您执行复杂的任务。

We wrote a detailed post on “How to create A Ruby on Rails gem,” which you can find here.

我们在“ 如何创建Ruby on Rails宝石 ”上写了一篇详细的文章,您可以在此处找到。

Interesting caveat: At this juncture, our HR team at SoluteLabs wants to point out an interesting fact. When scouting for talent, the HR team says that Ruby on Rails developers are particularly hard to come by. This is contrary to what the data says about RoR developers being easily available in the market, so we will have to wait and watch before we proceed further.

有趣的警告:在此关头,我们SoluteLabs的人力资源团队希望指出一个有趣的事实。 人力资源团队在寻找人才时说,Ruby on Rails开发人员特别难找。 这与RoR开发人员在市场上容易获得的数据相反,因此我们将不得不拭目以待。

Let us see what else makes Ruby popular.

让我们看看还有什么使Ruby受欢迎。

最适合发展MVP (Best for developing MVPs)

Imagine this.

想象一下。

You have an idea for a killer app, something that is an offshoot of the current technology that you are working on, and have an investor meeting coming up in three weeks.

您有一个杀手级应用的想法,这是您正在研究的当前技术的衍生产品,并在三周内召开了投资者会议。

You can either:

您可以:

A — Create a complicated wireframe or a presentation that only developers can follow and which is sure to confuse your investors.

:创建一个复杂的线框或演示文稿,只有开发人员可以遵循,并且肯定会使您的投资者感到困惑。

B — Create a working prototype of the app and have the investors go… Ooooohhhhhh!!

B —创建该应用程序的可行原型,并吸引投资者……哦!

Image for post
Image credit图片信誉

Building a Minimum Viable Product (MVP) in the least amount of time is why Ruby climbed to the top of the developer’s favourite list and is continuing to stay there.

在最短的时间内构建最小可行产品(MVP)的原因就是Ruby登上了开发人员最喜欢的列表的顶部,并将继续留在那里。

Ask yourself questions like:

问自己一些问题,例如:

  • Does my product need to go-to-market in the least amount of time?

    我的产品是否需要在最短的时间内推向市场?
  • Do I want to extensively test my product before it hits the market?

    我想在产品投放市场之前对其进行广泛的测试吗?
  • Am I low on money and need to build something good out of minimal resources?

    我的资金不足吗,需要用最少的资源来建立一些好的东西吗?
  • Should I constantly be able to receive feedback and improve my product?

    我是否应该一直能够收到反馈并改进我的产品?

If your answer is a Yes to most of the questions listed here, then you need to go ahead and build an MVP before you do anything else.

如果您对此处列出的大多数问题的回答是“是”,那么您需要继续进行并建立MVP,然后再执行其他操作。

Ruby on Rails has a large community, as we stated above, and a tonne of gems available, which solves most of the problems developers face.

如上所述,Ruby on Rails有一个庞大的社区,并且有大量的宝石可供使用,这解决了开发人员面临的大多数问题。

Ruby apps are easy to scale, and we can build apps much more easily for a bug user count, like GitHub.

Ruby应用程序易于扩展,并且我们可以更轻松地构建应用程序以解决bug用户数量,例如GitHub。

RoR apps are easier to connect to a database, which means the technology offers a lot of flexibility.

RoR应用程序更易于连接到数据库,这意味着该技术提供了很大的灵活性。

All this leads us to one conclusion — “Think MVP, Think Ruby.”

所有这些使我们得出一个结论- “思考MVP,思考Ruby”。

Ruby on Rails是开源的。 (Ruby on Rails is open-source.)

What does an open-source framework mean to the end-user? Well, for starters, the source code is free to download for anyone wishing to play around with Ruby.

开源框架对最终用户意味着什么? 好吧,对于初学者来说,任何希望使用Ruby的人都可以免费下载源代码。

The RoR framework runs on Linux, which is also 100% free and is an open-source framework.

RoR框架在Linux上运行,该Linux也是100%免费的开放源代码框架。

Ruby gems, which lets you add features quickly without having to develop them from scratch, also comes in handy here. The developer’s time and effort is saved, which also translates to saved costs.

Ruby gems可以派上用场,它使您可以快速添加功能而不必从头开始进行开发。 节省了开发人员的时间和精力,这也节省了成本。

Being open-source is what allows startups to compete with experienced players in the software industry.

开源是让初创企业与软件行业经验丰富的竞争者竞争的基础。

Image for post
Image credit图片信誉

So if you are a Microsoft Windows and Java aficionado, consider switching to Linux and Ruby and watch your savings grow.

因此,如果您是Microsoft Windows和Java的狂热爱好者,请考虑改用Linux和Ruby,并注意节省下来的钱。

Moving on.

继续。

Ruby on Rails易于维护和更改。 (Ruby on Rails is easy to maintain and change.)

One aspect of Ruby on Rails that all developers love irrespective of their other differences is the “Convention over Configuration” principle.

所有开发人员都喜欢的Ruby on Rails的一个方面,就是与他们的其他差异无关,这是“约定之上的配置”原则。

Rails has a very concrete idea of how to develop a web application and defaults to this set of conventions.

Rails对于如何开发Web应用程序有一个非常具体的想法,并且默认使用这套约定。

This means that not only do the developers save a lot of their time that is otherwise sunk in re-coding repetitive tasks, but Ruby code is cleaner and less prone to bugs. Convention over Configuration also means that it is easier to troubleshoot problems as and when they occur.

这意味着开发人员不仅节省了很多时间,否则这些时间会浪费在重新编码重复性任务上,而且Ruby代码更简洁,更不容易出现错误。 约定优于配置还意味着在出现问题时更容易进行故障排除。

Ruby code structured so that there is no need for developers to leave behind detailed explanations as to why they took certain coding decisions. Instead, the Rails conventions act as a shared common ground for developers to write their code.

Ruby代码经过结构化,因此开发人员无需就为何做出某些编码决定留有详细的解释。 相反,Rails约定充当了开发人员编写代码的共同基础。

Rails is also good for Rapid Application Development (RAD), and the framework makes it super easy to accommodate changes.

Rails也适合快速应用程序开发(RAD),并且该框架使适应更改变得非常容易。

Ruby on Rails得到了广泛的支持。 (Ruby on Rails is widely supported.)

As we have mentioned earlier, the Ruby on Rails community is widespread across the globe, with developers constantly pushing out new Ruby on Rails gems.

正如我们前面提到的,Ruby on Rails社区遍布全球,开发人员不断推出新的Ruby on Rails宝石。

Ruby on Rails community members pride themselves on keeping the technology updated and making the Ruby code clean and simplistic.

Ruby on Rails社区成员以不断更新技术,使Ruby代码简洁明了而自豪。

Image for post
Image credit图片信誉

A huge developer community means new users can quickly find solutions to any bug or coding problem they may be facing.

庞大的开发人员社区意味着新用户可以快速找到他们可能面临的任何错误或编码问题的解决方案。

The RoR technology is so widely supported that an inside joke among RoR developers goes like “There is a gem for that.”

RoR技术得到了如此广泛的支持,以至于RoR开发人员中的一个内在笑话就像“为此而生”。

露比快死了吗 Ruby on Rails的一些缺点 (Is Ruby dying? A few drawbacks of Ruby on Rails)

While we have talked about the advantages of Ruby on Rails at length, there are a few drawbacks of using RoR. Among them are:

虽然我们详细讨论了Ruby on Rails的优点,但使用RoR仍存在一些缺点。 其中包括:

Ruby on Rails不适合机器学习。 (Ruby on Rails is not Machine-learning friendly.)

Remember how you see a list of Facebook friends you thought were long lost but seem to appear on your feed mysteriously? That’s machine learning optimizing your social feed based on past experiences.

还记得您如何看过您以为早已迷路但似乎神秘地出现在您的feed上的Facebook朋友列表吗? 这是机器学习根据过去的经验来优化您的社交提要。

When you drive from home to work, Google Maps shows traffic congestion in certain areas. That is machine learning at work too.

当您从家开车去上班时,Google地图会显示某些地区的交通拥堵。 那也是工作中的机器学习。

Machine learning has been an integral part of our lives for the past few years, without us even noticing it.

在过去的几年中,机器学习一直是我们生活中不可或缺的一部分,而我们甚至没有注意到它。

Image for post
Image credit图片信誉

Unfortunately, Ruby on Rails is not the best technology to use when dealing with Machine Learning. Languages such as Python or even Java offer much more features to integrate with Machine learning.

不幸的是,Ruby on Rails并不是处理机器学习时最好的技术。 诸如Python甚至Java之类的语言提供了更多与机器学习集成的功能。

A major hindrance to Ruby and Machine learning is that there are just not enough libraries to support ML in Ruby on Rails apps. Considering the fact that Ruby on Rails is mature and was written a long time ago, when Machine learning was relegated to science fiction, this drawback can be easily forgiven.

Ruby和机器学习的主要障碍是,在Ruby on Rails应用程序中没有足够的库来支持ML。 考虑到Ruby on Rails已经很成熟并且是很久以前编写的,而当机器学习被归类为科幻小说时,可以很容易地避免这种缺陷。

Ruby on Rails并不完全灵活。 (Ruby on Rails is not fully flexible.)

Ruby on Rails is highly opinionated and rigid. This is something that all Rails developers agree upon.

Ruby on Rails高度固执己见。 所有Rails开发人员都同意这一点。

When we say opinionated, we mean that Ruby on allows you to create apps that “Rails wants you to.”

当我们说有道理时,我们的意思是Ruby on允许您创建“ Rails希望您”的应用程序。

Ruby on Rails operates on some fixed rules and default code samples, which makes it difficult for developers to highlight their creativity.

Ruby on Rails在某些固定规则和默认代码示例上运行,这使开发人员很难突出自己的创造力。

Image for post
Image credit图片信誉

If you decide to build an unconventional architecture or extended features that fall outside Rail’s conventional guidelines, you will be in for a surprise. Developers have to choose between sacrificing time or originality.

如果您决定构建超出Rail常规指南范围的非常规体系结构或扩展功能,那么您会感到惊讶。 开发人员必须在牺牲时间或独创性之间做出选择。

Ruby on Rails的运行速度较慢且不可扩展。 (Ruby on Rails has less operational speed and is not scalable.)

RoR is the go-to tool if you want to build an MVP. That much is abundantly clear. But seasoned developers say that RoR is a bit slower compared to other frameworks.

如果要构建MVP,RoR是首选工具。 这很清楚。 但是经验丰富的开发人员说,RoR与其他框架相比要慢一些。

Unlike C++ and Java, Ruby on Rails requires extra time to execute the code. Rails is a speed demon, and if you need high operational speed and low resource consumption, then Ruby on Rails is a big no-no.

与C ++和Java不同,Ruby on Rails需要额外的时间来执行代码。 Rails是一个速度魔鬼,如果您需要高运行速度和低资源消耗,那么Ruby on Rails是一个很大的禁忌。

Image for post
Image source图片来源

Speed again is a relative term, and you may not need a lot of speed if you are building an MVP.. Unless you plan your app to go viral and be used by hundreds of millions of users, speed is not generally a dampener.

再次,速度是一个相对的术语,如果您要构建MVP,则可能不需要很多速度。除非您计划使应用程序具有病毒性并被数亿用户使用,否则速度通常不会成为障碍。

But does your app need to scale quickly? Ruby language poses a drawback here too.

但是您的应用是否需要快速扩展? Ruby语言在这里也有缺点。

When Twitter moved out of Ruby on Rails to Scala, the framework’s inability to scale was seen as a major drawback. However, many developers would argue that each element in the server’s system architecture is responsible for scaling, and not just the web app’s backend.

当Twitter从Ruby on Rails移至Scala时,该框架无法扩展被视为主要缺点。 但是,许多开发人员认为服务器系统体系结构中的每个元素都负责扩展,而不仅仅是Web应用程序的后端。

But does it mean RoR is not completely suitable when building an app that scales? Not exactly. Shopify was able to scale and support over 500,000 businesses at a time using Ruby on Rails.

但这是否意味着RoR在构建可扩展的应用程序时并不完全适合? 不完全是。 Shopify使用Ruby on Rails能够一次扩展并支持超过500,000个业务。

今天谁在使用Ruby on Rails? (Who uses Ruby on Rails today?)

Ruby on Rails is still going strong, with a host of companies swearing by the technology’s robustness and flexibility.

Ruby on Rails仍然很强大,许多公司都对这项技术的健壮性和灵活性发誓。

Here is a look at some of the big names using Ruby:

以下是使用Ruby的一些知名人士:

Image for post

Both Ruby and Rails are scheduled to release updated versions this year, to address many of the pain points the developers are facing.

Ruby和Rails都计划在今年发布更新版本,以解决开发人员面临的许多痛苦点。

Ruby 3, aimed for a Christmas 2020 release, aims at making the framework faster, improve memory and CPU performance, and make Concurrency a cornerstone in development.

Ruby 3旨在于2020年圣诞节发布,旨在使框架更快,提高内存和CPU性能,并使并发成为开发的基石。

Rails 6, released last year, offers better text-editing features with Action Text and faster reply rates with Action Mailbox, and the ability to use multiple databases that make the app that much more secure.

去年发布的Rails 6通过Action Text提供了更好的文本编辑功能,并通过Action Mailbox提供了更快的回复率,并且能够使用多个数据库,使该应用程序更加安全。

As you can see, Ruby on Rails has been here for long and looks like it is here to stay. If you want an app developed using Ruby on Rails, remember to give SoluteLabs a shoutout.

如您所见,Ruby on Rails已经存在了很长时间,而且看起来还会继续存在。 如果您想要使用Ruby on Rails开发的应用程序,请记住要向SoluteLabs大喊大叫

翻译自: https://medium.com/solute-labs/why-ruby-on-rails-ror-is-still-a-good-choice-in-2020-7e465f5282ad

re2020 bt2020

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值