Alternatives to Symfony logo

Alternatives to Symfony

Laravel, Spring, Django, WordPress, and Phalcon are the most popular alternatives and competitors to Symfony.
8K
5.9K
+ 1
1.1K

What is Symfony and what are its top alternatives?

It is written with speed and flexibility in mind. It allows developers to build better and easy to maintain websites with PHP..
Symfony is a tool in the Frameworks (Full Stack) category of a tech stack.
Symfony is an open source tool with 29.2K GitHub stars and 9.3K GitHub forks. Here’s a link to Symfony's open source repository on GitHub

Top Alternatives to Symfony

  • Laravel
    Laravel

    It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching. ...

  • Spring
    Spring

    A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. ...

  • Django
    Django

    Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. ...

  • WordPress
    WordPress

    The core software is built by hundreds of community volunteers, and when you’re ready for more there are thousands of plugins and themes available to transform your site into almost anything you can imagine. Over 60 million people have chosen WordPress to power the place on the web they call “home” — we’d love you to join the family. ...

  • Phalcon
    Phalcon

    Phalcon is a web framework implemented as a C extension offering high performance and lower resource consumption. ...

  • CodeIgniter
    CodeIgniter

    CodeIgniter is a proven, agile & open PHP web application framework with a small footprint. It is powering the next generation of web apps. ...

  • Node.js
    Node.js

    Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. ...

  • Rails
    Rails

    Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. ...

Symfony alternatives & related posts

Laravel logo

Laravel

27.4K
22.8K
3.9K
A PHP Framework For Web Artisans
27.4K
22.8K
+ 1
3.9K
PROS OF LARAVEL
  • 553
    Clean architecture
  • 392
    Growing community
  • 370
    Composer friendly
  • 344
    Open source
  • 324
    The only framework to consider for php
  • 220
    Mvc
  • 210
    Quickly develop
  • 168
    Dependency injection
  • 156
    Application architecture
  • 143
    Embraces good community packages
  • 73
    Write less, do more
  • 71
    Orm (eloquent)
  • 66
    Restful routing
  • 57
    Database migrations & seeds
  • 55
    Artisan scaffolding and migrations
  • 41
    Great documentation
  • 40
    Awesome
  • 30
    Awsome, Powerfull, Fast and Rapid
  • 29
    Build Apps faster, easier and better
  • 28
    Eloquent ORM
  • 26
    Promotes elegant coding
  • 26
    Modern PHP
  • 26
    JSON friendly
  • 25
    Most easy for me
  • 24
    Easy to learn, scalability
  • 23
    Beautiful
  • 22
    Blade Template
  • 21
    Test-Driven
  • 15
    Security
  • 15
    Based on SOLID
  • 13
    Clean Documentation
  • 13
    Easy to attach Middleware
  • 13
    Cool
  • 12
    Simple
  • 12
    Convention over Configuration
  • 11
    Easy Request Validatin
  • 10
    Simpler
  • 10
    Fast
  • 10
    Easy to use
  • 9
    Get going quickly straight out of the box. BYOKDM
  • 9
    Its just wow
  • 8
    Laravel + Cassandra = Killer Framework
  • 8
    Simplistic , easy and faster
  • 8
    Friendly API
  • 7
    Less dependencies
  • 7
    Super easy and powerful
  • 6
    Great customer support
  • 6
    Its beautiful to code in
  • 5
    Speed
  • 5
    Eloquent
  • 5
    Composer
  • 5
    Minimum system requirements
  • 5
    Laravel Mix
  • 5
    Easy
  • 5
    The only "cons" is wrong! No static method just Facades
  • 5
    Fast and Clarify framework
  • 5
    Active Record
  • 5
    Php7
  • 4
    Ease of use
  • 4
    Laragon
  • 4
    Laravel casher
  • 4
    Easy views handling and great ORM
  • 4
    Laravel Forge and Envoy
  • 4
    Cashier with Braintree and Stripe
  • 3
    Laravel Passport
  • 3
    Laravel Spark
  • 3
    Intuitive usage
  • 3
    Laravel Horizon and Telescope
  • 3
    Laravel Nova
  • 3
    Rapid development
  • 2
    Laravel Vite
  • 2
    Scout
  • 2
    Deployment
  • 1
    Succint sintax
CONS OF LARAVEL
  • 53
    PHP
  • 33
    Too many dependency
  • 23
    Slower than the other two
  • 17
    A lot of static method calls for convenience
  • 15
    Too many include
  • 13
    Heavy
  • 9
    Bloated
  • 8
    Laravel
  • 7
    Confusing
  • 5
    Too underrated
  • 4
    Not fast with MongoDB
  • 1
    Not using SOLID principles
  • 1
    Slow and too much big
  • 1
    Difficult to learn

related Laravel posts

I need to build a web application plus android and IOS apps for an enterprise, like an e-commerce portal. It will have intensive use of MySQL to display thousands (40-50k) of live product information in an interactive table (searchable, filterable), live delivery tracking. It has to be secure, as it will handle information on customers, sales, inventory. Here is the technology stack: Backend: Laravel 7 Frondend: Vue.js, React or AngularJS?

Need help deciding technology stack. Thanks.

See more
Antonio Sanchez

Back at the start of 2017, we decided to create a web-based tool for the SEO OnPage analysis of our clients' websites. We had over 2.000 websites to analyze, so we had to perform thousands of requests to get every single page from those websites, process the information and save the big amounts of data somewhere.

Very soon we realized that the initial chosen script language and database, PHP, Laravel and MySQL, was not going to be able to cope efficiently with such a task.

By that time, we were doing some experiments for other projects with a language we had recently get to know, Go , so we decided to get a try and code the crawler using it. It was fantastic, we could process much more data with way less CPU power and in less time. By using the concurrency abilites that the language has to offers, we could also do more Http requests in less time.

Unfortunately, I have no comparison numbers to show about the performance differences between Go and PHP since the difference was so clear from the beginning and that we didn't feel the need to do further comparison tests nor document it. We just switched fully to Go.

There was still a problem: despite the big amount of Data we were generating, MySQL was performing very well, but as we were adding more and more features to the software and with those features more and more different type of data to save, it was a nightmare for the database architects to structure everything correctly on the database, so it was clear what we had to do next: switch to a NoSQL database. So we switched to MongoDB, and it was also fantastic: we were expending almost zero time in thinking how to structure the Database and the performance also seemed to be better, but again, I have no comparison numbers to show due to the lack of time.

We also decided to switch the website from PHP and Laravel to JavaScript and Node.js and ExpressJS since working with the JSON Data that we were saving now in the Database would be easier.

As of now, we don't only use the tool intern but we also opened it for everyone to use for free: https://tool-seo.com

See more
Spring logo

Spring

3.9K
4.7K
1.1K
Provides a comprehensive programming and configuration model for modern Java-based enterprise applications
3.9K
4.7K
+ 1
1.1K
PROS OF SPRING
  • 230
    Java
  • 157
    Open source
  • 136
    Great community
  • 123
    Very powerful
  • 114
    Enterprise
  • 64
    Lot of great subprojects
  • 60
    Easy setup
  • 44
    Convention , configuration, done
  • 40
    Standard
  • 31
    Love the logic
  • 13
    Good documentation
  • 11
    Dependency injection
  • 11
    Stability
  • 9
    MVC
  • 6
    Easy
  • 3
    Makes the hard stuff fun & the easy stuff automatic
  • 3
    Strong typing
  • 2
    Code maintenance
  • 2
    Best practices
  • 2
    Maven
  • 2
    Great Desgin
  • 2
    Easy Integration with Spring Security
  • 2
    Integrations with most other Java frameworks
  • 1
    Java has more support and more libraries
  • 1
    Supports vast databases
  • 1
    Large ecosystem with seamless integration
  • 1
    OracleDb integration
  • 1
    Live project
CONS OF SPRING
  • 15
    Draws you into its own ecosystem and bloat
  • 3
    Verbose configuration
  • 3
    Poor documentation
  • 3
    Java
  • 2
    Java is more verbose language in compare to python

related Spring posts

Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.

Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.

See more

I am consulting for a company that wants to move its current CubeCart e-commerce site to another PHP based platform like PrestaShop or Magento. I was interested in alternatives that utilize Node.js as the primary platform. I currently don't know PHP, but I have done full stack dev with Java, Spring, Thymeleaf, etc.. I am just unsure that learning a set of technologies not commonly used makes sense. For example, in PrestaShop, I would need to work with JavaScript better and learn PHP, Twig, and Bootstrap. It seems more cumbersome than a Node JS system, where the language syntax stays the same for the full stack. I am looking for thoughts and advice on the relevance of PHP skillset into the future AND whether the Node based e-commerce open source options can compete with Magento or Prestashop.

See more
Django logo

Django

36.8K
33.3K
4.2K
The Web framework for perfectionists with deadlines
36.8K
33.3K
+ 1
4.2K
PROS OF DJANGO
  • 670
    Rapid development
  • 487
    Open source
  • 424
    Great community
  • 379
    Easy to learn
  • 276
    Mvc
  • 232
    Beautiful code
  • 223
    Elegant
  • 206
    Free
  • 203
    Great packages
  • 194
    Great libraries
  • 79
    Restful
  • 79
    Comes with auth and crud admin panel
  • 78
    Powerful
  • 75
    Great documentation
  • 71
    Great for web
  • 57
    Python
  • 43
    Great orm
  • 41
    Great for api
  • 32
    All included
  • 28
    Fast
  • 25
    Web Apps
  • 23
    Easy setup
  • 23
    Clean
  • 21
    Used by top startups
  • 19
    Sexy
  • 19
    ORM
  • 15
    The Django community
  • 14
    Allows for very rapid development with great libraries
  • 14
    Convention over configuration
  • 11
    King of backend world
  • 10
    Full stack
  • 10
    Great MVC and templating engine
  • 8
    Fast prototyping
  • 8
    Mvt
  • 7
    Easy to develop end to end AI Models
  • 7
    Batteries included
  • 7
    Its elegant and practical
  • 6
    Have not found anything that it can't do
  • 6
    Very quick to get something up and running
  • 6
    Cross-Platform
  • 5
    Easy Structure , useful inbuilt library
  • 5
    Great peformance
  • 5
    Zero code burden to change databases
  • 5
    Python community
  • 4
    Map
  • 4
    Just the right level of abstraction
  • 4
    Easy to change database manager
  • 4
    Modular
  • 4
    Many libraries
  • 4
    Easy to use
  • 4
    Easy
  • 4
    Full-Text Search
  • 3
    Scaffold
  • 1
    Fastapi
  • 1
    Built in common security
  • 1
    Scalable
  • 1
    Great default admin panel
  • 1
    Node js
  • 1
    Gigante ta
  • 0
    Rails
CONS OF DJANGO
  • 26
    Underpowered templating
  • 22
    Autoreload restarts whole server
  • 22
    Underpowered ORM
  • 15
    URL dispatcher ignores HTTP method
  • 10
    Internal subcomponents coupling
  • 8
    Not nodejs
  • 8
    Configuration hell
  • 7
    Admin
  • 5
    Not as clean and nice documentation like Laravel
  • 4
    Python
  • 3
    Not typed
  • 3
    Bloated admin panel included
  • 2
    Overwhelming folder structure
  • 2
    InEffective Multithreading
  • 1
    Not type safe

related Django posts

Dmitry Mukhin
Engineer at Uploadcare · | 25 upvotes · 2.4M views

Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.

Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.

For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.

However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.

All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.

See more

Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?

See more
WordPress logo

WordPress

96K
38.5K
2.1K
A semantic personal publishing platform with a focus on aesthetics, web standards, and usability.
96K
38.5K
+ 1
2.1K
PROS OF WORDPRESS
  • 415
    Customizable
  • 366
    Easy to manage
  • 354
    Plugins & themes
  • 258
    Non-tech colleagues can update website content
  • 247
    Really powerful
  • 145
    Rapid website development
  • 78
    Best documentation
  • 51
    Codex
  • 44
    Product feature set
  • 35
    Custom/internal social network
  • 18
    Open source
  • 8
    Great for all types of websites
  • 7
    Huge install and user base
  • 5
    Perfect example of user collaboration
  • 5
    Open Source Community
  • 5
    Most websites make use of it
  • 5
    It's simple and easy to use by any novice
  • 5
    Best
  • 5
    I like it like I like a kick in the groin
  • 4
    Community
  • 4
    API-based CMS
  • 3
    Easy To use
  • 2
    <a href="https://secure.wphackedhel">Easy Beginner</a>
CONS OF WORDPRESS
  • 13
    Hard to keep up-to-date if you customize things
  • 13
    Plugins are of mixed quality
  • 10
    Not best backend UI
  • 2
    Complex Organization
  • 1
    Do not cover all the basics in the core
  • 1
    Great Security

related WordPress posts

Dale Ross
Independent Contractor at Self Employed · | 22 upvotes · 1.5M views

I've heard that I have the ability to write well, at times. When it flows, it flows. I decided to start blogging in 2013 on Blogger. I started a company and joined BizPark with the Microsoft Azure allotment. I created a WordPress blog and did a migration at some point. A lot happened in the time after that migration but I stopped coding and changed cities during tumultuous times that taught me many lessons concerning mental health and productivity. I eventually graduated from BizSpark and outgrew the credit allotment. That killed the WordPress blog.

I blogged about writing again on the existing Blogger blog but it didn't feel right. I looked at a few options where I wouldn't have to worry about hosting cost indefinitely and Jekyll stood out with GitHub Pages. The Importer was fairly straightforward for the existing blog posts.

Todo * Set up redirects for all posts on blogger. The URI format is different so a complete redirect wouldn't work. Although, there may be something in Jekyll that could manage the redirects. I did notice the old URLs were stored in the front matter. I'm working on a command-line Ruby gem for the current plan. * I did find some of the lost WordPress posts on archive.org that I downloaded with the waybackmachinedownloader. I think I might write an importer for that. * I still have a few Disqus comment threads to map

See more
Siddhant Sharma
Tech Connoisseur at Channelize.io · | 12 upvotes · 1.1M views

WordPress Magento PHP Java Swift JavaScript

Back in the days, we started looking for a date on different matrimonial websites as there were no Dating Applications. We used to create different profiles. It all changed in 2012 when Tinder, an Online Dating application came into India Market.

Tinder allowed us to communicate with our potential soul mates. That too without paying any extra money. I too got 4-6 matches in 6 years. It changed the life of many Millennials. Tinder created a revolution of its own. P.S. - I still don't have a date :(

Posting my first article. Please have a look and do give feedback.

Communication InAppChat Dating Matrimonial #messaging

See more
Phalcon logo

Phalcon

247
294
354
Web framework delivered as a C-extension for PHP
247
294
+ 1
354
PROS OF PHALCON
  • 65
    Fast
  • 54
    High performance
  • 37
    Open source
  • 35
    Fast and easy to use
  • 32
    Scalable
  • 23
    Versatile
  • 22
    Fiexble
  • 20
    Automatic routing
  • 19
    It is easy and fast
  • 17
    Is very good
  • 9
    Low overhead
  • 9
    Dependency injection
  • 6
    Awesome
  • 2
    Easy and fast
  • 1
    Great for API
  • 1
    Clean Architecture
  • 1
    Modularity
  • 1
    Easy Setup
  • 0
    Very customizable
CONS OF PHALCON
  • 4
    Support few databases
  • 2
    Very bad documentation

related Phalcon posts

CodeIgniter logo

CodeIgniter

3.2K
1.5K
466
A Fully Baked PHP Framework
3.2K
1.5K
+ 1
466
PROS OF CODEIGNITER
  • 88
    Mvc
  • 76
    Easy setup
  • 70
    Open source
  • 62
    Well documented
  • 36
    Community support
  • 25
    Easy to learn
  • 21
    Easy
  • 14
    Fast
  • 11
    HMVC
  • 9
    "Fast","Easy","MVC"
  • 9
    Language Suppert
  • 7
    Powerful
  • 6
    I think it is best. we can make all types of project
  • 6
    Easy, fast and full functional
  • 6
    Open source, Easy to setup
  • 5
    Customizable
  • 5
    Beginner friendly framework
  • 4
    Super Lightweight, Super Easy to Learn
  • 3
    CLI
  • 2
    Easily Extensible
  • 1
    Powerful
CONS OF CODEIGNITER
  • 6
    No ORM
  • 1
    No CLI

related CodeIgniter posts

Michael Feldhake
Developer at Fleet-Nomics · | 7 upvotes · 34.5K views
Shared insights
on
CakePHPCakePHPCodeIgniterCodeIgniterBubbleBubble

Hi all, I need to create a simple IoT interface application that connects the end device API with a GeoTab API. I am considering using Bubble due to its simple interface and configuration tools, but I fear it's too simple. We will want to add features and new devices as we grow - I was thinking of using CodeIgniter or CakePHP on a hosted site for the application. Must support JCOM encoding between the two APIs and there is no need for a separate interface as GeoTab already has one; we are just connecting and pushing data. Thoughts?

See more
Shared insights
on
CodeIgniterCodeIgniterLaravelLaravelMySQLMySQL

Hello Everyone, I'm a freelancer and I have a project for an online trivia app (not a multiplayer yet for now). I'll be using Unity for the client side, but I'm having a hard time deciding which Backend technologies should I use considering the goal is to have a large number of users in the future. I was thinking to use MySQL as the DBMS but Im planning not to use Laravel or CodeIgniter with it.

Can anyone recommend some Backend stacks that will be ideal? Kudos and Thanks in Advance!

See more
Node.js logo

Node.js

183.6K
155.9K
8.5K
A platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications
183.6K
155.9K
+ 1
8.5K
PROS OF NODE.JS
  • 1.4K
    Npm
  • 1.3K
    Javascript
  • 1.1K
    Great libraries
  • 1K
    High-performance
  • 805
    Open source
  • 486
    Great for apis
  • 477
    Asynchronous
  • 423
    Great community
  • 390
    Great for realtime apps
  • 296
    Great for command line utilities
  • 84
    Websockets
  • 83
    Node Modules
  • 69
    Uber Simple
  • 59
    Great modularity
  • 58
    Allows us to reuse code in the frontend
  • 42
    Easy to start
  • 35
    Great for Data Streaming
  • 32
    Realtime
  • 28
    Awesome
  • 25
    Non blocking IO
  • 18
    Can be used as a proxy
  • 17
    High performance, open source, scalable
  • 16
    Non-blocking and modular
  • 15
    Easy and Fun
  • 14
    Easy and powerful
  • 13
    Future of BackEnd
  • 13
    Same lang as AngularJS
  • 12
    Fullstack
  • 11
    Fast
  • 10
    Scalability
  • 10
    Cross platform
  • 9
    Simple
  • 8
    Mean Stack
  • 7
    Great for webapps
  • 7
    Easy concurrency
  • 6
    Typescript
  • 6
    Fast, simple code and async
  • 6
    React
  • 6
    Friendly
  • 5
    Control everything
  • 5
    Its amazingly fast and scalable
  • 5
    Easy to use and fast and goes well with JSONdb's
  • 5
    Scalable
  • 5
    Great speed
  • 5
    Fast development
  • 4
    It's fast
  • 4
    Easy to use
  • 4
    Isomorphic coolness
  • 3
    Great community
  • 3
    Not Python
  • 3
    Sooper easy for the Backend connectivity
  • 3
    TypeScript Support
  • 3
    Blazing fast
  • 3
    Performant and fast prototyping
  • 3
    Easy to learn
  • 3
    Easy
  • 3
    Scales, fast, simple, great community, npm, express
  • 3
    One language, end-to-end
  • 3
    Less boilerplate code
  • 2
    Npm i ape-updating
  • 2
    Event Driven
  • 2
    Lovely
  • 1
    Creat for apis
  • 0
    Node
CONS OF NODE.JS
  • 46
    Bound to a single CPU
  • 45
    New framework every day
  • 40
    Lots of terrible examples on the internet
  • 33
    Asynchronous programming is the worst
  • 24
    Callback
  • 19
    Javascript
  • 11
    Dependency based on GitHub
  • 11
    Dependency hell
  • 10
    Low computational power
  • 7
    Can block whole server easily
  • 7
    Callback functions may not fire on expected sequence
  • 7
    Very very Slow
  • 4
    Breaking updates
  • 4
    Unstable
  • 3
    No standard approach
  • 3
    Unneeded over complication
  • 1
    Can't read server session
  • 1
    Bad transitive dependency management

related Node.js posts

Nick Rockwell
SVP, Engineering at Fastly · | 46 upvotes · 3.2M views

When I joined NYT there was already broad dissatisfaction with the LAMP (Linux Apache HTTP Server MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?

So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.

React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.

Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.

See more
Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 44 upvotes · 9.6M views

How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

https://eng.uber.com/distributed-tracing/

(GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

See more
Rails logo

Rails

19.2K
13.4K
5.4K
Web development that doesn't hurt
19.2K
13.4K
+ 1
5.4K
PROS OF RAILS
  • 856
    Rapid development
  • 652
    Great gems
  • 606
    Great community
  • 484
    Convention over configuration
  • 417
    Mvc
  • 348
    Great for web
  • 343
    Beautiful code
  • 310
    Open source
  • 270
    Great libraries
  • 261
    Active record
  • 108
    Elegant
  • 90
    Easy to learn
  • 88
    Easy Database Migrations
  • 82
    Makes you happy
  • 75
    Free
  • 62
    Great routing
  • 54
    Has everything you need to get the job done
  • 41
    Great Data Modeling
  • 38
    MVC - Easy to start on
  • 38
    Beautiful
  • 35
    Easy setup
  • 26
    Great caching
  • 25
    Ultra rapid development time
  • 22
    It's super easy
  • 17
    Great Resources
  • 16
    Easy to build mockups that work
  • 14
    Less Boilerplate
  • 7
    Developer Friendly
  • 7
    API Development
  • 6
    Great documentation
  • 5
    Easy REST API creation
  • 5
    Quick
  • 4
    Intuitive
  • 4
    Great language
  • 4
    Haml and sass
  • 4
    Easy to learn, use, improvise and update
  • 2
    Metaprogramming
  • 2
    It works
  • 2
    Jet packs come standard
  • 2
    Easy and fast
  • 2
    Legacy
  • 1
    It's intuitive
  • 1
    Convention over configuration
  • 1
    Easy Testing
  • 1
    Cancan
CONS OF RAILS
  • 24
    Too much "magic" (hidden behavior)
  • 14
    Poor raw performance
  • 12
    Asset system is too primitive and outdated
  • 6
    Heavy use of mixins
  • 6
    Bloat in models
  • 4
    Very Very slow

related Rails posts

Zach Holman

Oof. I have truly hated JavaScript for a long time. Like, for over twenty years now. Like, since the Clinton administration. It's always been a nightmare to deal with all of the aspects of that silly language.

But wowza, things have changed. Tooling is just way, way better. I'm primarily web-oriented, and using React and Apollo together the past few years really opened my eyes to building rich apps. And I deeply apologize for using the phrase rich apps; I don't think I've ever said such Enterprisey words before.

But yeah, things are different now. I still love Rails, and still use it for a lot of apps I build. But it's that silly rich apps phrase that's the problem. Users have way more comprehensive expectations than they did even five years ago, and the JS community does a good job at building tools and tech that tackle the problems of making heavy, complicated UI and frontend work.

Obviously there's a lot of things happening here, so just saying "JavaScript isn't terrible" might encompass a huge amount of libraries and frameworks. But if you're like me, yeah, give things another shot- I'm somehow not hating on JavaScript anymore and... gulp... I kinda love it.

See more
Russel Werner
Lead Engineer at StackShare · | 32 upvotes · 1.9M views

StackShare Feed is built entirely with React, Glamorous, and Apollo. One of our objectives with the public launch of the Feed was to enable a Server-side rendered (SSR) experience for our organic search traffic. When you visit the StackShare Feed, and you aren't logged in, you are delivered the Trending feed experience. We use an in-house Node.js rendering microservice to generate this HTML. This microservice needs to run and serve requests independent of our Rails web app. Up until recently, we had a mono-repo with our Rails and React code living happily together and all served from the same web process. In order to deploy our SSR app into a Heroku environment, we needed to split out our front-end application into a separate repo in GitHub. The driving factor in this decision was mostly due to limitations imposed by Heroku specifically with how processes can't communicate with each other. A new SSR app was created in Heroku and linked directly to the frontend repo so it stays in-sync with changes.

Related to this, we need a way to "deploy" our frontend changes to various server environments without building & releasing the entire Ruby application. We built a hybrid Amazon S3 Amazon CloudFront solution to host our Webpack bundles. A new CircleCI script builds the bundles and uploads them to S3. The final step in our rollout is to update some keys in Redis so our Rails app knows which bundles to serve. The result of these efforts were significant. Our frontend team now moves independently of our backend team, our build & release process takes only a few minutes, we are now using an edge CDN to serve JS assets, and we have pre-rendered React pages!

#StackDecisionsLaunch #SSR #Microservices #FrontEndRepoSplit

See more