"Экосистема Ruby (on Rails) с горьким привкусом, или «Как мы любим пошпынять PHP»"
https://habrahabr.ru/post/306564/
переведена на Хабре Романом Ахмадуллиным (@saggid), за что ему большое спасибо!
"Экосистема Ruby (on Rails) с горьким привкусом, или «Как мы любим пошпынять PHP»"
https://habrahabr.ru/post/306564/
переведена на Хабре Романом Ахмадуллиным (@saggid), за что ему большое спасибо!
tl;dr;
I am putting some facts and personal experience to prove that PHP has healthier, more competitive and loosely-coupled ecosystem, than Ruby. I am talking about Performance, Syntax and Coding aspects, Community and Tools support.
If you want to skip a lot of empty rant - scroll till the "The main part goes here..." heading :) But I need to say all of this...
Yep, I started to gather materials for this posts more than 6 months ago, and I know about all that discussions that are going around RoR's pros and cons recent weeks. The main are "My time with Rails is up" and Rails has won: The Elephant in the Room. I am definitely not so experienced in RoR to say something new, that hasn't been said yet in terms of architecture. I just want to argue on Rails leadership in web development.
[PHP] ... fragmented, independent and isolated communities ... is one big ocean of disconnected islands.
Says AkitaOnRails, and as always that's true from one side, but not true - from another. Dear Rubyists let me show you the world of the closest competitor - PHP. And there is nothing special in Ruby for "Basecamp-like" app, that we can't find in PHP.
Read th most recent version of this guide here http://rwdtow.stdout.in/. I have transferred it to GitHub Pages with custom domain.
This guide is born after a question "Could you write a list of all the things, that a good RoR developer should know?". I decided to expand it to a whole Ruby Web development and related “Full Stack” skills (but also limit it to "Web", as it is not about Ruby in general).
I am inspired by "PHP The Right Way" guide format (and advises). So this guide also contains sections dedicated to very important aspects of web dev, some explanation (if needed) and list of tutorial links.
Sometimes I will suggest some tools or Gems (with comparison if possible), but it is only to have a starting point. It is up to you to decide "use it or not".
Important notice. All suggestions in this guide is my personal opinion. It is not an absolute truth or a 100% best practice. I just want to suggest the best I know.
Also this guide is not complete tutorial - some clear steps like installing Ruby (via
rbenv
orrvm
), managing dependencies via Bundler, etc. are not described due to wide coverage of these aspects in other tutorials (and there are no fatal issues regarding of e.g. how you install Ruby, if it works – that's fine).
I am glad you are asking! :)
It is not a secret that most of Ruby Web Dev came in Ruby via Rails. That is good and bad simultaneously. It simplifies the entry barrier, but also narrows knowledge range. This guide have special RoR section to cover some RoR-specific things, but mostly it will encourage you to look outside of Ruby on Rails and especially “Rails Way”.
And I can't call the way described here as "The Right Way". It is just another way to look on common things.
Locust.io - an open source load testing tool. Define user behaviour with Python code, and swarm your system with millions of simultaneous users.
Workerman - a library for event-driven programming in PHP. Alternative to ReactPHP.
Trailblazer - a new Concept or a Domain Driven application structure for Rails. Tries to get rid of fat models, monolithic controllers, global helpers, etc.
ramjet - morph DOM elements from one state to another with smooth transitions