Alternatives to Symfony logo

Alternatives to Symfony

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

20.8K
16.8K
3.6K
A PHP Framework For Web Artisans
20.8K
16.8K
+ 1
3.6K
PROS OF LARAVEL
  • 518
    Clean architecture
  • 374
    Growing community
  • 350
    Composer friendly
  • 325
    Open source
  • 303
    The only framework to consider for php
  • 205
    Mvc
  • 199
    Quickly develop
  • 161
    Dependency injection
  • 150
    Application architecture
  • 136
    Embraces good community packages
  • 64
    Write less, do more
  • 57
    Restful routing
  • 57
    Orm (eloquent)
  • 49
    Database migrations & seeds
  • 48
    Artisan scaffolding and migrations
  • 36
    Awesome
  • 34
    Great documentation
  • 26
    Awsome, Powerfull, Fast and Rapid
  • 25
    Build Apps faster, easier and better
  • 25
    Promotes elegant coding
  • 22
    Easy to learn, scalability
  • 22
    JSON friendly
  • 21
    Eloquent ORM
  • 21
    Modern PHP
  • 21
    Most easy for me
  • 20
    Test-Driven
  • 19
    Blade Template
  • 19
    Beautiful
  • 13
    Security
  • 12
    Based on SOLID
  • 11
    Easy to attach Middleware
  • 11
    Cool
  • 11
    Simple
  • 11
    Clean Documentation
  • 10
    Convention over Configuration
  • 9
    Easy to use
  • 9
    Easy Request Validatin
  • 8
    Fast
  • 8
    Friendly API
  • 8
    Its just wow
  • 8
    Simpler
  • 8
    Get going quickly straight out of the box. BYOKDM
  • 8
    Laravel + Cassandra = Killer Framework
  • 7
    Simplistic , easy and faster
  • 7
    Less dependencies
  • 7
    Super easy and powerful
  • 6
    Great customer support
  • 6
    Its beautiful to code in
  • 5
    Fast and Clarify framework
  • 5
    Active Record
  • 5
    Php7
  • 5
    Speed
  • 5
    Easy
  • 5
    The only "cons" is wrong! No static method just Facades
  • 4
    Composer
  • 4
    Minimum system requirements
  • 4
    Easy views handling and great ORM
  • 4
    Eloquent
  • 4
    Laragon
  • 4
    Laravel Mix
  • 3
    Ease of use
  • 3
    Laravel Forge and Envoy
  • 3
    Laravel Horizon and Telescope
  • 3
    Laravel casher
  • 3
    Laravel Passport
  • 3
    Laravel Nova
  • 3
    Laravel Spark
  • 3
    Intuitive usage
  • 3
    Cashier with Braintree and Stripe
  • 2
    Rapid development
  • 2
    Heart touch
  • 2
    Like heart beat
  • 2
    Scout
  • 2
    Laravel love live long
  • 2
    Touch heart artisan
  • 1
    Deployment
CONS OF LARAVEL
  • 43
    PHP
  • 29
    Too many dependency
  • 20
    Slower than the other two
  • 16
    A lot of static method calls for convenience
  • 13
    Too many include
  • 10
    Heavy
  • 7
    Bloated
  • 6
    Laravel
  • 5
    Confusing
  • 4
    Does not work well for file uploads in Shared Hosting
  • 4
    Too underrated
  • 2
    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.4K
3.9K
1K
Provides a comprehensive programming and configuration model for modern Java-based enterprise applications
3.4K
3.9K
+ 1
1K
PROS OF SPRING
  • 221
    Java
  • 155
    Open source
  • 133
    Great community
  • 120
    Very powerful
  • 111
    Enterprise
  • 62
    Lot of great subprojects
  • 59
    Easy setup
  • 44
    Convention , configuration, done
  • 38
    Standard
  • 29
    Love the logic
  • 12
    Good documentation
  • 10
    Dependency injection
  • 10
    Stability
  • 7
    MVC
  • 6
    Easy
  • 3
    Strong typing
  • 3
    Makes the hard stuff fun & the easy stuff automatic
  • 2
    Maven
  • 2
    Code maintenance
  • 2
    Best practices
  • 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
  • 1
    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

27.4K
24.3K
3.9K
The Web framework for perfectionists with deadlines
27.4K
24.3K
+ 1
3.9K
PROS OF DJANGO
  • 637
    Rapid development
  • 470
    Open source
  • 404
    Great community
  • 354
    Easy to learn
  • 265
    Mvc
  • 216
    Beautiful code
  • 211
    Elegant
  • 195
    Free
  • 193
    Great packages
  • 180
    Great libraries
  • 70
    Restful
  • 67
    Comes with auth and crud admin panel
  • 67
    Powerful
  • 62
    Great documentation
  • 60
    Great for web
  • 46
    Python
  • 38
    Great orm
  • 36
    Great for api
  • 27
    All included
  • 22
    Web Apps
  • 22
    Fast
  • 19
    Used by top startups
  • 17
    Clean
  • 15
    Sexy
  • 15
    Easy setup
  • 13
    Convention over configuration
  • 11
    ORM
  • 9
    Allows for very rapid development with great libraries
  • 9
    The Django community
  • 7
    Great MVC and templating engine
  • 7
    Its elegant and practical
  • 6
    Mvt
  • 6
    Full stack
  • 6
    Cross-Platform
  • 6
    Fast prototyping
  • 6
    King of backend world
  • 6
    Have not found anything that it can't do
  • 5
    Very quick to get something up and running
  • 5
    Batteries included
  • 5
    Easy Structure , useful inbuilt library
  • 5
    Easy to develop end to end AI Models
  • 4
    Python community
  • 4
    Many libraries
  • 4
    Great peformance
  • 4
    Easy to use
  • 4
    Modular
  • 4
    Easy
  • 3
    Scaffold
  • 3
    Full-Text Search
  • 3
    Map
  • 3
    Zero code burden to change databases
  • 3
    Just the right level of abstraction
  • 2
    Easy to change database manager
  • 1
    Node js
  • 0
    Aaaa
  • 0
    Asdasd
  • 0
    Rails
CONS OF DJANGO
  • 25
    Underpowered templating
  • 19
    Underpowered ORM
  • 19
    Autoreload restarts whole server
  • 15
    URL dispatcher ignores HTTP method
  • 10
    Internal subcomponents coupling
  • 7
    Not nodejs
  • 7
    Configuration hell
  • 7
    Admin
  • 5
    Not as clean and nice documentation like Laravel
  • 3
    Bloated admin panel included
  • 3
    Not typed
  • 3
    Python
  • 2
    Overwhelming folder structure
  • 1
    InEffective Multithreading

related Django posts

Dmitry Mukhin

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

83.4K
28.2K
2.1K
A semantic personal publishing platform with a focus on aesthetics, web standards, and usability.
83.4K
28.2K
+ 1
2.1K
PROS OF WORDPRESS
  • 411
    Customizable
  • 362
    Easy to manage
  • 351
    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
  • 15
    Open source
  • 8
    Great for all types of websites
  • 6
    Huge install and user base
  • 5
    Best
  • 5
    Open Source Community
  • 5
    Perfect example of user collaboration
  • 5
    It's simple and easy to use by any novice
  • 5
    Most websites make use of it
  • 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
  • 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 · 1M 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 · 800.4K 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

227
273
353
Web framework delivered as a C-extension for PHP
227
273
+ 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
    Dependency injection
  • 9
    Low overhead
  • 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.1K
1.4K
434
A Fully Baked PHP Framework
3.1K
1.4K
+ 1
434
PROS OF CODEIGNITER
  • 84
    Mvc
  • 75
    Easy setup
  • 68
    Open source
  • 60
    Well documented
  • 35
    Community support
  • 22
    Easy to learn
  • 18
    Easy
  • 12
    Fast
  • 10
    HMVC
  • 8
    Language Suppert
  • 7
    "Fast","Easy","MVC"
  • 5
    Powerful
  • 5
    Open source, Easy to setup
  • 5
    Easy, fast and full functional
  • 4
    Works on Every PHP Server like shared hostings
  • 4
    I think it is best. we can make all types of project
  • 3
    Customizable
  • 3
    Super Lightweight, Super Easy to Learn
  • 3
    Beginner friendly framework
  • 2
    CLI
  • 1
    Easily Extensible
CONS OF CODEIGNITER
  • 6
    No ORM
  • 1
    No CLI

related CodeIgniter posts

Saikat Chakrabortty
Shared insights
on
PHPPHPLaravelLaravelCodeIgniterCodeIgniter

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

See more
Narjis Fatima
Web developer at WebSolution Creators · | 2 upvotes · 10K views
Shared insights
on
DjangoDjangoCodeIgniterCodeIgniterPythonPython

I have learned Python. I also developed an online Result management system in CodeIgniter for my school but now want to migrate to Django as the system is expanding. Is it a good idea?

See more
Node.js logo

Node.js

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

related Node.js posts

Nick Rockwell
SVP, Engineering at Fastly · | 44 upvotes · 1.8M 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 · | 39 upvotes · 4.4M 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

15.6K
10.9K
5.4K
Web development that doesn't hurt
15.6K
10.9K
+ 1
5.4K
PROS OF RAILS
  • 850
    Rapid development
  • 650
    Great gems
  • 605
    Great community
  • 481
    Convention over configuration
  • 417
    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
    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
    API Development
  • 7
    Developer Friendly
  • 6
    Great documentation
  • 5
    Quick
  • 5
    Easy REST API creation
  • 4
    Intuitive
  • 4
    Great language
  • 4
    Haml and sass
  • 4
    Easy to learn, use, improvise and update
  • 2
    It works
  • 2
    Jet packs come standard
  • 2
    Easy and fast
  • 2
    Legacy
  • 2
    Metaprogramming
  • 1
    Convention over configuration
  • 1
    Easy Testing
  • 1
    Cancan
  • 1
    It's intuitive
CONS OF RAILS
  • 22
    Too much "magic" (hidden behavior)
  • 13
    Poor raw performance
  • 11
    Asset system is too primitive and outdated
  • 6
    Heavy use of mixins
  • 6
    Bloat in models
  • 3
    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 · | 30 upvotes · 1.5M 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