Unclaimed: Are are working at Ruby On Rails ?
Ruby on Rails, often referred to as Rails, is an open-source web application framework written in Ruby. It emphasizes convention over configuration (CoC) and the don't repeat yourself (DRY) principle, aiming to simplify and accelerate web development by providing default structures for a database, a web service, and web pages. Rails enables developers to use a model-view-controller (MVC) pattern to organize application programming. Its rich ecosystem of gems (libraries) allows for rapid development of complex web applications.
| Capabilities |
|
|---|---|
| Segment |
|
| Ease of use |
|
| Deployment | Cloud / SaaS / Web-Based, N/A, On-Premise Linux, On-Premise Windows |
| Support | FAQs/Forum |
| Training | Documentation |
| Languages | English |
The ruby language is rich and natural. The rails framework made development so easy and fast.
It has become way to heavy and way too much "magic" behaviors that have to be learned.
eCommerce. Faster and less costly development with simplified deployment and host.
Very convenient, lots of libraries for most use-cases
Dynamic typing is error-prone and not expressive enough
Doing intranet services. The main benefit is the quick prototyping
The best part about Rails, is the community. It is a constantly evolving framework built in a very easy to understand language. Its also great for small teams as everything you might need to make a web application comes built in. From connecting to databases and handling data objects, to rendering views and handling sql injections to international languages. Ruby on Rails a complete package of everything you need to make a web application
There is a lot of magic in Rails, by this I mean sometimes things just happen and you have no idea why. Furthermore, Rails has a lot of the same problems as Ruby, It's slow and gives the developer a lot of freedom to make a lot of mistakes. It also doesn't scale past 30 / 40 engineers unless you really know what you're doing. It becomes hard to maintain, slow and just a pain over all. Rails also still uses the MVC which a fairly outdated way of creating web applications as more people move to single page applications built with Node
I have worked at many companies that use Ruby on Rails as their main technology stack. The benefits are that Ruby on Rails works but not at a large scale and makes everything easy.
If you are writing a big enough webapp I believe it's a good framework. It makes it easier to get started without configuring anything and it gives you a very good mvc based directory structure which can be a pain to configure for frameworks like Sinatra. There are lots of libraries that support ruby on rails integration out of the box so that's always a good thing. Another good thing about Ruby on Rails is the community. You can almost always find a solution to any problem that you are looking for and that makes development a lot faster. And I love the generators that come with the framework; boy do they save time!
Personally I don't like to start with so many things in my app. I have developed both using Ruby on Rails and Sinatra; my first instinct is to use Sinatra, because it's simply a very lightweight framework and I can configure/add things as I need them.
I am a developer and I have developed several services using Ruby on Rails. I have used it in the past to create some very large services, serving millions of people. It's a perfect framework for a startup and makes the development process easier for developers.
The thing I like most about ruby on rails is it's Conventions Over Configurations mindset. Everything in rails has a convention of where to place stuff, how to do it etc. If you're following the conventions of rails, the framework lift you a lot of heavy burdens.
The drawback of opinionated conventions. Most of the rails conventions are great and reasonable for normal web development process. But business needs are not always identical and there will come a time we have to do things that rails didn't configured to do. This is the moment rails' magic is dispelled. You have to look into a lot of stuff just to customize something not the rails way.
I've built a few office management systems, ecommerce system, small civic apps with rails. The main benefit of rails is that it's very easy and productive to create a web application. Especially for small typical database driven apps, the productivity of using rails is really high. Also when you're prototyping ideas, a quick and fast rails app can be a huge win.
The Ruby on Jets is a new framework which is similar to Ruby on Rails. The jets framework gives us the extensive power to create serverless applications and it's deployment.
Since the framework was introduced lately, the implementation examples and lack of proper documentation was a point of pain for us.
Ruby on Jets The implementation of microservices architecture was very easy with this framework. Since each of its controller will be considered and deployed as a single lambda function.
RoR makes the language easier to learn for novices and it has better code readability. It encourages avoiding code duplication and provides a standard structure for web apps, where all the common patterns are taken care of. The MVC principle promotes modularity and extensibility of the application. It enables the development of features incredibly fast thus productivity is fast. There are lots of publicly available gems (3rd party libraries) to help to build a web app. RoR has a huge active community of developers to ask for help and use their code snippets.
It can be hard to find good documentation. RoR has a slow runtime process that makes it hard to scale the RoR application. The boot time can be really slow depending on the gems and dependencies. Developers don't have total control over the framework architecture, and modules. Lack of stability because it's constantly evolving and this makes it challenging to learn for beginners because you always have to be up-to-date.
RoR was to made to speed up the development process thus it makes it beneficial for projects that have limited time. RoR is perfect for MVPs and small, and medium websites. The Don't Repeat Yorself principle makes RoR projects efficient to maintain. It can be easily extended with new features.
There is a wealth of documentation and community support out there for getting up to speed with Ruby on Rails (RoR) quickly. Most of the ideas you can think of for a new application already have gems / plugins / tutorials that show you exactly how to get what you want without writing a lot of code. In many cases, you can write some code that is your best guess as to how something should work, and it will cover 80% of the cases you need to handle, thus giving you a minimally viable product (MVP) you can bring to market quickly.
Although you can get 80% of what you want quickly, the remaining 20% takes 2x to 4x more time to get than with any other solution we've tried. Both Ruby (the language) and Rails (the framework) were written assuming that they would be used only very specific ways. As your project -- no matter what project it is -- grows, those assumptions no longer fit your use case, and you find yourself fighting the language and framework more than it is helping you. RoR makes it very easy to keep adding scope to your MVP to the point where you have so much technical debt that you end up having to rewrite everything. What was once fast and easy for you to iterate on is now very slow and hard to maintain. It is very easy to get into but hard to master; consequently, it's hard to find qualified RoR talent without paying 2x what it costs for Java Enterprise developers. In short, RoR does not scale as your business scales; it becomes an albatross. Lastly, we hate that it only really runs well on Linux. It barely runs at all on Windows, requiring our team members that use Windows to run a VM just to work with Rails.
Our business needed a way to quickly turn an e-commerce idea into a minimally viable product we could start selling immediately. It was a good fit for our start-up to see if our idea(s) had legs, and to pivot quickly as we found our product-market fit.