Alternatives to Symfony logo

Alternatives to Symfony

Laravel, Spring, Django, WordPress, and Phalcon are the most popular alternatives and competitors to Symfony.
7K
5.5K
+ 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 28.1K GitHub stars and 9K 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

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

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.7K
4.5K
1.1K
Provides a comprehensive programming and configuration model for modern Java-based enterprise applications
3.7K
4.5K
+ 1
1.1K
PROS OF SPRING
  • 226
    Java
  • 156
    Open source
  • 134
    Great community
  • 122
    Very powerful
  • 114
    Enterprise
  • 64
    Lot of great subprojects
  • 59
    Easy setup
  • 44
    Convention , configuration, done
  • 40
    Standard
  • 30
    Love the logic
  • 12
    Good documentation
  • 11
    Dependency injection
  • 10
    Stability
  • 8
    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

33.7K
30.7K
4K
The Web framework for perfectionists with deadlines
33.7K
30.7K
+ 1
4K
PROS OF DJANGO
  • 660
    Rapid development
  • 480
    Open source
  • 415
    Great community
  • 371
    Easy to learn
  • 270
    Mvc
  • 225
    Beautiful code
  • 217
    Elegant
  • 200
    Free
  • 197
    Great packages
  • 186
    Great libraries
  • 74
    Restful
  • 73
    Comes with auth and crud admin panel
  • 72
    Powerful
  • 69
    Great documentation
  • 64
    Great for web
  • 52
    Python
  • 39
    Great orm
  • 37
    Great for api
  • 28
    All included
  • 25
    Fast
  • 23
    Web Apps
  • 21
    Clean
  • 20
    Used by top startups
  • 19
    Easy setup
  • 17
    Sexy
  • 14
    Convention over configuration
  • 14
    ORM
  • 13
    Allows for very rapid development with great libraries
  • 12
    The Django community
  • 10
    Great MVC and templating engine
  • 10
    King of backend world
  • 8
    Full stack
  • 7
    Batteries included
  • 7
    Its elegant and practical
  • 6
    Fast prototyping
  • 6
    Very quick to get something up and running
  • 6
    Cross-Platform
  • 6
    Have not found anything that it can't do
  • 6
    Mvt
  • 5
    Zero code burden to change databases
  • 5
    Easy to develop end to end AI Models
  • 5
    Easy Structure , useful inbuilt library
  • 4
    Map
  • 4
    Easy to change database manager
  • 4
    Easy
  • 4
    Great peformance
  • 4
    Many libraries
  • 4
    Python community
  • 4
    Modular
  • 4
    Easy to use
  • 3
    Just the right level of abstraction
  • 3
    Scaffold
  • 3
    Full-Text Search
  • 1
    Scalable
  • 1
    Node js
  • 0
    Rails
  • 0
    Fastapi
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
  • 3
    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 · 1.5M 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

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

related WordPress posts

Dale Ross
Independent Contractor at Self Employed · | 22 upvotes · 1.3M 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 · 948.1K 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

241
286
353
Web framework delivered as a C-extension for PHP
241
286
+ 1
353
PROS OF PHALCON
  • 64
    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
465
A Fully Baked PHP Framework
3.2K
1.5K
+ 1
465
PROS OF CODEIGNITER
  • 87
    Mvc
  • 76
    Easy setup
  • 70
    Open source
  • 62
    Well documented
  • 36
    Community support
  • 25
    Easy to learn
  • 21
    Easy
  • 14
    Fast
  • 11
    HMVC
  • 9
    Language Suppert
  • 9
    "Fast","Easy","MVC"
  • 7
    Powerful
  • 6
    Easy, fast and full functional
  • 6
    I think it is best. we can make all types of project
  • 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 · 13.3K 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
Saikat Chakrabortty
Shared insights
on
PHPPHPLaravelLaravelCodeIgniterCodeIgniter

I have used PHP to do end to end developments , using Laravel CodeIgniter frameworks.

See more
Node.js logo

Node.js

161.1K
140.8K
8.5K
A platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications
161.1K
140.8K
+ 1
8.5K
PROS OF NODE.JS
  • 1.4K
    Npm
  • 1.3K
    Javascript
  • 1.1K
    Great libraries
  • 1K
    High-performance
  • 802
    Open source
  • 485
    Great for apis
  • 475
    Asynchronous
  • 420
    Great community
  • 390
    Great for realtime apps
  • 296
    Great for command line utilities
  • 82
    Websockets
  • 82
    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
    Same lang as AngularJS
  • 13
    Future of BackEnd
  • 12
    Fullstack
  • 11
    Fast
  • 10
    Cross platform
  • 10
    Scalability
  • 9
    Simple
  • 8
    Mean Stack
  • 7
    Great for webapps
  • 7
    Easy concurrency
  • 6
    Typescript
  • 6
    React
  • 6
    Fast, simple code and async
  • 6
    Friendly
  • 5
    Great speed
  • 5
    Easy to use and fast and goes well with JSONdb's
  • 5
    Scalable
  • 5
    Its amazingly fast and scalable
  • 5
    Control everything
  • 5
    Fast development
  • 4
    Isomorphic coolness
  • 4
    Easy to use
  • 4
    It's fast
  • 3
    Great community
  • 3
    Scales, fast, simple, great community, npm, express
  • 3
    TypeScript Support
  • 3
    Sooper easy for the Backend connectivity
  • 3
    Not Python
  • 3
    One language, end-to-end
  • 3
    Easy
  • 3
    Easy to learn
  • 3
    Less boilerplate code
  • 3
    Performant and fast prototyping
  • 3
    Blazing fast
  • 2
    Event Driven
  • 2
    Lovely
  • 2
    Npm i ape-updating
  • 1
    Creat for apis
  • 0
    Node
CONS OF NODE.JS
  • 46
    Bound to a single CPU
  • 44
    New framework every day
  • 38
    Lots of terrible examples on the internet
  • 31
    Asynchronous programming is the worst
  • 23
    Callback
  • 18
    Javascript
  • 11
    Dependency based on GitHub
  • 11
    Dependency hell
  • 10
    Low computational power
  • 7
    Very very Slow
  • 7
    Can block whole server easily
  • 6
    Callback functions may not fire on expected sequence
  • 3
    Unneeded over complication
  • 3
    Unstable
  • 3
    Breaking updates
  • 2
    No standard approach
  • 1
    Bad transitive dependency management
  • 1
    Can't read server session

related Node.js posts

Nick Rockwell
SVP, Engineering at Fastly · | 44 upvotes · 2.3M 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 · | 42 upvotes · 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

17.7K
12.7K
5.4K
Web development that doesn't hurt
17.7K
12.7K
+ 1
5.4K
PROS OF RAILS
  • 853
    Rapid development
  • 651
    Great gems
  • 605
    Great community
  • 481
    Convention over configuration
  • 416
    Mvc
  • 349
    Great for web
  • 344
    Beautiful code
  • 311
    Open source
  • 270
    Great libraries
  • 260
    Active record
  • 106
    Elegant
  • 89
    Easy to learn
  • 87
    Easy Database Migrations
  • 79
    Makes you happy
  • 74
    Free
  • 62
    Great routing
  • 53
    Has everything you need to get the job done
  • 41
    Great Data Modeling
  • 38
    Beautiful
  • 38
    MVC - Easy to start on
  • 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
    Great language
  • 4
    Intuitive
  • 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
  • 23
    Too much "magic" (hidden behavior)
  • 14
    Poor raw performance
  • 11
    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.7M 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