Alternatives to Volt logo

Alternatives to Volt

AMP, Leaf, Node.js, Django, and ASP.NET are the most popular alternatives and competitors to Volt.
11
36
+ 1
26

What is Volt and what are its top alternatives?

Volt is a ruby web framework where your ruby code runs on both the server and the client (via opal.) The DOM automatically update as the user interacts with the page. Page state can be stored in the URL, if the user hits a URL directly, the HTML will first be rendered on the server for faster load times and easier indexing by search engines.
Volt is a tool in the Frameworks (Full Stack) category of a tech stack.
Volt is an open source tool with 3.3K GitHub stars and 203 GitHub forks. Here’s a link to Volt's open source repository on GitHub

Top Alternatives to Volt

  • AMP

    AMP

    It is an open source initiative that makes it easy for publishers to create mobile-friendly content once and have it load instantly everywhere. ...

  • Leaf

    Leaf

    Leaf is a Machine Intelligence Framework engineered by software developers, not scientists. It was inspired by the brilliant people behind TensorFlow, Torch, Caffe, Rust and numerous research papers and brings modularity, performance and portability to deep learning. Leaf is lean and tries to introduce minimal technical debt to your stack. ...

  • 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. ...

  • Django

    Django

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

  • ASP.NET

    ASP.NET

    .NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications. ...

  • 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. ...

  • Android SDK

    Android SDK

    Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment. ...

  • 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. ...

Volt alternatives & related posts

AMP logo

AMP

54
44
0
A web component framework
54
44
+ 1
0
PROS OF AMP
    Be the first to leave a pro
    CONS OF AMP
      Be the first to leave a con

      related AMP posts

      Leaf logo

      Leaf

      20
      36
      0
      Machine learning framework in Rust
      20
      36
      + 1
      0
      PROS OF LEAF
        Be the first to leave a pro
        CONS OF LEAF
          Be the first to leave a con

          related Leaf posts

          Node.js logo

          Node.js

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

          related Node.js posts

          Nick Rockwell
          SVP, Engineering at Fastly · | 42 upvotes · 1.4M 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 · | 37 upvotes · 3.5M 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
          Django logo

          Django

          21.9K
          18.6K
          3.5K
          The Web framework for perfectionists with deadlines
          21.9K
          18.6K
          + 1
          3.5K
          PROS OF DJANGO
          • 602
            Rapid development
          • 446
            Open source
          • 387
            Great community
          • 337
            Easy to learn
          • 249
            Mvc
          • 202
            Elegant
          • 201
            Beautiful code
          • 180
            Free
          • 179
            Great packages
          • 167
            Great libraries
          • 55
            Restful
          • 52
            Comes with auth and crud admin panel
          • 51
            Powerful
          • 48
            Great documentation
          • 46
            Great for web
          • 36
            Python
          • 31
            Great orm
          • 27
            Great for api
          • 21
            All included
          • 17
            Web Apps
          • 16
            Fast
          • 14
            Used by top startups
          • 12
            Clean
          • 11
            Easy setup
          • 10
            Sexy
          • 8
            Convention over configuration
          • 5
            ORM
          • 5
            Allows for very rapid development with great libraries
          • 5
            The Django community
          • 3
            Mvt
          • 3
            Its elegant and practical
          • 3
            Great MVC and templating engine
          • 2
            Easy to use
          • 2
            Easy to develop end to end AI Models
          • 2
            Easy Structure , useful inbuilt library
          • 2
            Cross-Platform
          • 2
            Fast prototyping
          • 2
            Full stack
          • 2
            Batteries included
          • 2
            Easy
          • 1
            Great peformance
          • 1
            Many libraries
          • 1
            Zero code burden to change databases
          • 1
            Have not found anything that it can't do
          • 1
            Map
          • 1
            Scaffold
          • 1
            Modular
          • 1
            Very quick to get something up and running
          • 1
            Just the right level of abstraction
          • 1
            Python community
          • 1
            Full-Text Search
          • 1
            King of backend world
          CONS OF DJANGO
          • 24
            Underpowered templating
          • 19
            Underpowered ORM
          • 18
            Autoreload restarts whole server
          • 15
            URL dispatcher ignores HTTP method
          • 10
            Internal subcomponents coupling
          • 7
            Not nodejs
          • 5
            Admin
          • 4
            Configuration hell
          • 3
            Not as clean and nice documentation like Laravel
          • 2
            Bloated admin panel included
          • 2
            Not typed
          • 2
            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
          ASP.NET logo

          ASP.NET

          18.9K
          4.6K
          6
          An open source web framework for building modern web apps and services with .NET
          18.9K
          4.6K
          + 1
          6
          PROS OF ASP.NET
          • 6
            Great mvc
          CONS OF ASP.NET
            Be the first to leave a con

            related ASP.NET posts

            Greg Neumann

            Finding the most effective dev stack for a solo developer. Over the past year, I've been looking at many tech stacks that would be 'best' for me, as a solo, indie, developer to deliver a desktop app (Windows & Mac) plus mobile - iOS mainly. Initially, Xamarin started to stand-out. Using .NET Core as the run-time, Xamarin as the native API provider and Xamarin Forms for the UI seemed to solve all issues. But, the cracks soon started to appear. Xamarin Forms is mobile only; the Windows incarnation is different. There is no Mac UI solution (you have to code it natively in Mac OS Storyboard. I was also worried how Xamarin Forms , if I was to use it, was going to cope, in future, with Apple's new SwiftUI and Google's new Fuchsia.

            This plethora of techs for the UI-layer made me reach for the safer waters of using Web-techs for the UI. Lovely! Consistency everywhere (well, mostly). But that consistency evaporates when platform issues are addressed. There are so many web frameworks!

            But, I made a simple decision. It's just me...I am clever, but there is no army of coders here. And I have big plans for a business app. How could just 1 developer go-on to deploy a decent app to Windows, iPhone, iPad & Mac OS? I remembered earlier days when I've used Microsoft's ASP.NET to scaffold - generate - loads of Code for a web-app that I needed for several charities that I worked with. What 'generators' exist that do a lot of the platform-specific rubbish, allow the necessary customisation of such platform integration and provide a decent UI?

            I've placed my colours to the Quasar Framework mast. Oh dear, that means Electron desktop apps doesn't it? Well, Ive had enough of loads of Developers saying that "the menus won't look native" or "it uses too much RAM" and so on. I've been using non-native UI-wrapped apps for ages - the date picker in Outlook on iOS is way better than the native date-picker and I'd been using it for years without getting hot under the collar about it. Developers do get so hung-up on things that busy Users hardly notice; don't you think?. As to the RAM usage issue; that's a bit true. But Users only really notice when an app uses so much RAM that the machine starts to page-out. Electron contributes towards that horizon but does not cause it. My Users will be business-users after all. Somewhat decent machines.

            Looking forward to all that lovely Vue.js around my TypeScript and all those really, really, b e a u t I f u l UI controls of Quasar Framework . Still not sure that 1 dev can deliver all that... but I'm up for trying...

            See more

            I found Heroku to be a great option to get ExpressJS up and running with very little hustle. The free tier is great, but I'd recommend to set up a cronjob to visit your site every few minutes so that the server stays awake. Netlify was the option to host the front-end because doing the server side rendering on #Heroku would have taken a little more time than I'd like to. For the moment pre-rendering the app with prerender-spa-plugin is enough to help with #seo. Puppeteer was my choice over other options because it made it easier to scrape websites made on ASP.NET which is what I needed in this case. And Vue.js is my top choice at the moment because it's really beginner friendly and it has a lot of the features I like about Angular 2 and React. vuex is a must in most of the app I build.

            See more
            Laravel logo

            Laravel

            17K
            12.9K
            3.4K
            A PHP Framework For Web Artisans
            17K
            12.9K
            + 1
            3.4K
            PROS OF LARAVEL
            • 500
              Clean architecture
            • 359
              Growing community
            • 336
              Composer friendly
            • 312
              Open source
            • 293
              The only framework to consider for php
            • 194
              Mvc
            • 189
              Quickly develop
            • 155
              Dependency injection
            • 142
              Application architecture
            • 129
              Embraces good community packages
            • 57
              Write less, do more
            • 50
              Restful routing
            • 46
              Orm (eloquent)
            • 43
              Artisan scaffolding and migrations
            • 42
              Database migrations & seeds
            • 35
              Awesome
            • 33
              Great documentation
            • 25
              Awsome, Powerfull, Fast and Rapid
            • 25
              Promotes elegant coding
            • 24
              Build Apps faster, easier and better
            • 22
              JSON friendly
            • 21
              Most easy for me
            • 20
              Eloquent ORM
            • 20
              Easy to learn, scalability
            • 19
              Test-Driven
            • 19
              Modern PHP
            • 18
              Blade Template
            • 18
              Beautiful
            • 13
              Security
            • 11
              Clean Documentation
            • 10
              Convention over Configuration
            • 10
              Based on SOLID
            • 10
              Cool
            • 9
              Easy to attach Middleware
            • 9
              Simple
            • 8
              Fast
            • 8
              Easy to use
            • 8
              Laravel + Cassandra = Killer Framework
            • 8
              Simpler
            • 8
              Get going quickly straight out of the box. BYOKDM
            • 8
              Easy Request Validatin
            • 7
              Less dependencies
            • 7
              Simplistic , easy and faster
            • 7
              Its just wow
            • 6
              Friendly API
            • 5
              Its beautiful to code in
            • 5
              Super easy and powerful
            • 5
              Great customer support
            • 4
              Speed
            • 4
              Fast and Clarify framework
            • 4
              The only "cons" is wrong! No static method just Facades
            • 4
              Easy
            • 4
              Active Record
            • 4
              Php7
            • 3
              Laravel Mix
            • 3
              Laragon
            • 3
              Eloquent
            • 3
              Easy views handling and great ORM
            • 3
              Minimum system requirements
            • 3
              Composer
            • 2
              Intuitive usage
            • 2
              Laravel Spark
            • 2
              Laravel Passport
            • 2
              Laravel Nova
            • 2
              Laravel casher
            • 2
              Laravel Horizon and Telescope
            • 2
              Laravel Forge and Envoy
            • 2
              Ease of use
            • 2
              Cashier with Braintree and Stripe
            • 1
              Rapid development
            • 0
              Scout
            CONS OF LARAVEL
            • 38
              PHP
            • 26
              Too many dependency
            • 19
              Slower than the other two
            • 15
              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
            • 3
              Too underrated
            • 2
              Not fast with MongoDB
            • 1
              Difficult to learn
            • 1
              Not using SOLID principles

            related Laravel posts

            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
            CDG

            I use Laravel because it's the most advances PHP framework out there, easy to maintain, easy to upgrade and most of all : easy to get a handle on, and to follow every new technology ! PhpStorm is our main software to code, as of simplicity and full range of tools for a modern application.

            Google Analytics Analytics of course for a tailored analytics, Bulma as an innovative CSS framework, coupled with our Sass (Scss) pre-processor.

            As of more basic stuff, we use HTML5, JavaScript (but with Vue.js too) and Webpack to handle the generation of all this.

            To deploy, we set up Buddy to easily send the updates on our nginx / Ubuntu server, where it will connect to our GitHub Git private repository, pull and do all the operations needed with Deployer .

            CloudFlare ensure the rapidity of distribution of our content, and Let's Encrypt the https certificate that is more than necessary when we'll want to sell some products with our Stripe api calls.

            Asana is here to let us list all the functionalities, possibilities and ideas we want to implement.

            See more
            Android SDK logo

            Android SDK

            16.8K
            12.3K
            782
            An SDK that provides you the API libraries and developer tools necessary to build, test, and debug apps...
            16.8K
            12.3K
            + 1
            782
            PROS OF ANDROID SDK
            • 282
              Android development
            • 153
              Necessary for android
            • 126
              Android studio
            • 85
              Mobile framework
            • 81
              Backed by google
            • 26
              Platform-tools
            • 21
              Eclipse + adt plugin
            • 4
              Powerful, simple, one stop environment
            • 2
              Free
            • 2
              Больно
            CONS OF ANDROID SDK
              Be the first to leave a con

              related Android SDK posts

              Jesus Dario Rivera Rubio
              Telecomm Engineering at Netbeast · | 10 upvotes · 817.9K views

              We are using React Native in #SmartHome to share the business logic between Android and iOS team and approach users with a unique brand experience. The drawback is that we require lots of native Android SDK and Objective-C modules, so a good part of the invested time is there. The gain for a app that relies less on native communication, sensors and OS tools should be even higher.

              Also it helps us set different testing stages: we use Travis CI for the javascript (business logic), Bitrise to run build tests and @Detox for #end2end automated user tests.

              We use a microservices structure on top of Zeit's @now that read from firebase. We use JWT auth to authenticate requests among services and from users, following GitHub philosophy of using the same infrastructure than its API consumers. Firebase is used mainly as a key-value store between services and as a backup database for users. We also use its authentication mechanisms.

              You can be super locked-in if you also rely on it's analytics, but we use Amplitude for that, which offers us great insights. Intercom for communications with end-user and Mailjet for marketing.

              See more
              Sezgi Ulucam
              Developer Advocate at Hasura · | 7 upvotes · 594.5K views

              I've recently switched to using Expo for initializing and developing my React Native apps. Compared to React Native CLI, it's so much easier to get set up and going. Setting up and maintaining Android Studio, Android SDK, and virtual devices used to be such a headache. Thanks to Expo, I can now test my apps directly on my Android phone, just by installing the Expo app. I still use Xcode Simulator for iOS testing, since I don't have an iPhone, but that's easy anyway. The big win for me with Expo is ease of Android testing.

              The Expo SDK also provides convenient features like Facebook login, MapView, push notifications, and many others. https://docs.expo.io/versions/v31.0.0/sdk/

              See more
              Rails logo

              Rails

              13.8K
              9.2K
              5.4K
              Web development that doesn't hurt
              13.8K
              9.2K
              + 1
              5.4K
              PROS OF RAILS
              • 845
                Rapid development
              • 647
                Great gems
              • 603
                Great community
              • 478
                Convention over configuration
              • 416
                Mvc
              • 349
                Great for web
              • 344
                Beautiful code
              • 311
                Open source
              • 270
                Great libraries
              • 260
                Active record
              • 105
                Elegant
              • 87
                Easy to learn
              • 85
                Easy Database Migrations
              • 77
                Makes you happy
              • 72
                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
                API Development
              • 7
                Developer Friendly
              • 6
                Great documentation
              • 5
                Easy REST API creation
              • 5
                Quick
              • 4
                Haml and sass
              • 4
                Intuitive
              • 4
                Easy to learn, use, improvise and update
              • 4
                Great language
              • 2
                Legacy
              • 2
                Jet packs come standard
              • 2
                Easy and fast
              • 2
                Metaprogramming
              • 2
                It works
              • 1
                It's intuitive
              • 1
                Cancan
              • 1
                Easy Testing
              • 1
                Convention over configuration
              CONS OF RAILS
              • 20
                Too much "magic" (hidden behavior)
              • 13
                Poor raw performance
              • 11
                Asset system is too primitive and outdated
              • 6
                Bloat in models
              • 6
                Heavy use of mixins
              • 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 · | 29 upvotes · 1.3M 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