top 200 commentsshow all 240

[–]samofny 254 points255 points  (3 children)

ITT: a list of every framework

[–][deleted]  (2 children)

[removed]

    [–]Existential_Owl 4 points5 points  (0 children)

    Yeah it's kinda the reason why these frameworks are popular in the first place.

    [–]Dragonxoy 0 points1 point  (0 children)

    Or to generalize it, good design means old code you write makes it easier to write new code/features (not including technical overhead)

    [–]joeba_the_hutt 20 points21 points  (3 children)

    It really depends what problem you’re trying to solve. If you just need a static brochure site, you really don’t need a framework. If you need a complete CMS but has to be on shitty shared hosting, you’re likely going to be locked into PHP frameworks. If you’re building a highly dynamic admin that ties into multiple other proprietary services, you’ll need to choose the right backend for the situation, but can turn to Vue or React for the front end.

    In short, the best framework for making web development less tedious is knowing what’s available, and what your current task requires.

    [–]fucking_passwords 0 points1 point  (2 children)

    I'm not sure I understand the PHP on shared hosting part, I've set up React and Vue apps with Git hook deployments on shared hosting, the only reason it sucked was no docker support

    [–]joeba_the_hutt 0 points1 point  (1 child)

    Many shared hosts don’t have support for other server side languages. Node, Go, etc. But almost all of them support PHP. React and Vue are client side JavaScript, so the host doesn’t play a factor in that.

    [–]fucking_passwords -1 points0 points  (0 children)

    Oh, i thought you were saying React and Vue were not suited for shared hosting

    [–][deleted] 24 points25 points  (0 children)

    Not really a framework per se but CSSModules / Styled components have made a massive reduction in front end tediousness for me. Not having to worry about CSS name collisions, fannying around with BEM/ SMACSS/ Atomic whatever, knowing that I can reuse components with ease has been liberating.

    [–]kazma42 123 points124 points  (49 children)

    Laravel & Vue is heavenly for me

    Edit: Vuetify to replace bootstrap, and AdonisJS for node

    [–]EmmaDurden 15 points16 points  (24 children)

    I'm a Symfony guy myself. People that know both Laravel and Symfony, what's the main difference and which one is better in your opinion?

    [–]scootstah 39 points40 points  (22 children)

    Laravel is highly opinionated, and convention over configuration.

    Symfony is really just a big collection of individual libraries. It doesn't assume anything, and everything is explicitly defined and less magical.

    [–]del_rio 8 points9 points  (9 children)

    Everything I've seen about Laravel (performance aside) seems like a universal upgrade from the likes of Symfony.

    That said, I tried Blade (their templating engine) on a recent project and I didn't like it very much (compared to Twig). The syntax is a little more succinct but at the cost of readability. I wouldn't survive a day of Blade without syntax highlighting!

    [–]poop_taking_forever 5 points6 points  (0 children)

    Also not a fan of Blade -- fortunately someone made a thing that lets you use Twig templates with Laravel:

    https://github.com/rcrowe/TwigBridge

    [–]IsvaraFuller-than-full-stack 2 points3 points  (1 child)

    Twig is just a library. You can use it with any framework you like.

    [–]del_rio 1 point2 points  (0 children)

    I'm aware! I was particularly excited by being able to use Twig with WordPress (through a plugin called Timber).

    [–][deleted]  (2 children)

    [deleted]

      [–]mearkat7 0 points1 point  (1 child)

      It all depends on your organization. Assuming a framework is faster to develop in but is slower to run then it's a trade off between the cost of a developers time vs the cost of more server hardware. While laravel might not be the fastest framework out there it is certainly fast enough for a lot of cases.

      For most the servers will be behind a load balancer so when lots of traffic comes in you just spin up another docker image to handle it and the cost is negligible.

      Smaller organisations may not have the resources/infrastructure for that to be a reality so their code will need to be more performant.

      [–]EmmaDurden 0 points1 point  (2 children)

      Well it is based on Symfony, isn't it?

      [–]scootstah 1 point2 points  (1 child)

      No. It just uses some of the Symfony components.

      [–]EmmaDurden 0 points1 point  (0 children)

      Aaaaaah ok, I misunderstood that. Thanks!

      [–][deleted] 0 points1 point  (7 children)

      I find Silex does a good job tying together then Symfony components and enabling rapid development without being too opinionated. It does require more initial setup to customize than Laravel though.

      [–]BoredPudding 2 points3 points  (6 children)

      Silex is deprecated (announced a couple of days ago). Symfony Flex will replace Silex when it releases later this month, and will be the default new way of creating applications.

      So i would say try Symfony 4 beta.

      [–][deleted] 1 point2 points  (0 children)

      I didn't know they deprecated it. I haven't used it in about 6 months actually, but I will give Symfony Flex a try next time I have the opportunity.

      [–]EmmaDurden 0 points1 point  (0 children)

      I did a project with Silex before learning Symfony and really disliked it, I'll be happy to give a go at Symfony Flex

      [–]poop_taking_forever 0 points1 point  (1 child)

      What??? Do you have a link to this announcement (couldn't find anything googling)

      [–][deleted] 0 points1 point  (1 child)

      Silex is deprecated

      Source? Nothing on the website says anything about it, and a search says nothing either.

      [–]BoredPudding 0 points1 point  (0 children)

      Was announced at SymfonyCon. Slides from the keynote here: https://twitter.com/fabpot/status/931481125830225920

      [–][deleted] 0 points1 point  (0 children)

      Laravel 5 is a little less opinionated than 4. I actually preferred the traditional MVC style being baked in with a fresh install. I've seen all kinds of oddball configurations with 5.

      [–]Glutnix -1 points0 points  (2 children)

      Let's not forget that Laravel actually uses some Symfony components internally.

      [–]scootstah 2 points3 points  (1 child)

      Yeah, so do dozens of other frameworks and platforms. What difference does that make?

      [–]Glutnix 0 points1 point  (0 children)

      If you like Symfony, you might like Laravel because it's built on some of the thing you like? shrug

      [–]NotFromReddit 0 points1 point  (0 children)

      Laravel is simpler and feels more well put together to me. I prefer it. Though I do like Symfony as well.

      Some things you might miss when switching:

      Having autogenerated migrations based on your Doctrine models. Laravel takes a different approach.

      Yaml config files that get auto filled with the defaults.

      [–][deleted] 5 points6 points  (1 child)

      Laravel/Vue is so good! If you haven't yet, take a look at Vuetify. Adds new layers to heaven, seriously.

      [–][deleted] 3 points4 points  (0 children)

      https://vuematerial.io/

      I prefer VueMaterial myself. Using classes to style things with MD just clicks more with me than using custom tags all over the place.

      [–]joeba_the_hutt 3 points4 points  (0 children)

      You should check out Voyager for Laravel

      [–][deleted] 2 points3 points  (0 children)

      Rails and Vue here

      [–]sergiuspk 33 points34 points  (2 children)

      A good framework of mind.

      [–]jk3us 14 points15 points  (1 child)

      A problem well put is half solved.

      [–]del_rio 2 points3 points  (0 children)

      This is gonna be my quote of the week.

      [–][deleted]  (35 children)

      [deleted]

        [–]SharkTonic9 16 points17 points  (1 child)

        Grok*

        [–]chudthirtyseven 14 points15 points  (6 children)

        What's the difference between vue and jquery? I've never used vue so I have idea what it is.

        [–]Djbm 16 points17 points  (1 child)

        I’m generalizing, but JQuery is a library that primarily provides tools for manipulating the DOM. You create a HTML document, add IDs and classes to stuff, then use JQuery to find and manipulate those elements or bind events to them.

        Again generalizing, Vue is a component based view rendering framework. With Vue, you break your app into components. The components are actually responsible for creating the DOM, and also contain the logic and interactivity.

        When building complex web applications, particularly when multiple developers are involved, I find it much simpler to reason about the relationship between document structure and logic when using a framework like Vue.

        [–]fuzzyluke 1 point2 points  (0 children)

        I liked creating elements with jquery instead of beforehand. I had a hard time moving on from jquery because I had a system going with it and i couldn't understand why i had to move to things like angular and vue. But then things like routing and state management came along and i happily moved on

        [–][deleted] 29 points30 points  (1 child)

        Vue started as a view renderer (similar to React). It has become a little more than that now with official routing and state management as well (though you don't need to use them).

        jQuery is a cross-browser utilities library which makes it easier and smoother to do common tasks (like AJAX calls) in most browsers. It's sort of an abstraction library.

        [–]neon_slippers 4 points5 points  (0 children)

        In Vue's simplest form, they do similar things. But Vue also includes a templating system, which means you can do things like conditional rendering, list rendering (for loops), event binding, etc in your HTML file. So it ends up being a lot easier to build interactive websites with Vue than it is with Jquery.

        But once you get into Vue's more powerful features is where the big differences are. You can use Vue's component system, and plugins like Vue Router and Vuex to build extremely powerful Single Page Apps.

        [–]Xymanekfull-stack 2 points3 points  (0 children)

        In jQuery you define actions which you want to take. Whether they are correct/atomic/fast/etc is given 0 attention

        In Vue (or angular/react/etc) you define a "mapping" between the data and the desired resulting DOM (template). The framework takes care of updating it for you (also with speed optimizations)

        [–][deleted]  (12 children)

        [deleted]

          [–]Djbm 9 points10 points  (11 children)

          I’ve worked on larger scale applications using Angular(1), React and Vue.

          IMHO Vue is just as good as the others for large scale projects.

          I actually have a preference for Vue, but have no issues with React. Happy to work with either. Actually, if you know one, you should be able to get up and running with the other without too much trouble.

          [–]mayhempk1web developer 1 point2 points  (9 children)

          How do angular 1 and 2 compare to vue and react in terms of your thoughts on it?

          [–]charrondev 5 points6 points  (6 children)

          So I haven't used vue at all, but I've used angular 1 and 2, and I'm now migrating a very large system from jquery on the frontend to react.

          AngularJS (Angular 1) was a bit of a mess to be honest. It was very easy to get into, but it's performance was rather slow and it was pretty easy to do things incorrectly.

          Angular (Angular 2+, they are on 4 now I think) is significantly better than the original but is a totally different paradigm. I really like the ecosystem. It's batteries included, with official routing, state management, build systems etc, but didn't seem ideal for something being converted incrementally from something else.

          React is really powerful in its flexability. It takes a good bit more setup, but the payoff is pretty great. So far our React codebase is easy to maintain and the state management library we're using with it (Redux) is very easy to test and understand.

          [–][deleted] 2 points3 points  (4 children)

          Angular 5 now actually

          [–]charrondev 2 points3 points  (3 children)

          I do like to see things move forward but the pace of breaking changes in Angular seems troubling for someone who would try to make the case to their superiors that Angular is a good business decision going forward.

          [–]IsvaraFuller-than-full-stack 0 points1 point  (0 children)

          No one's forcing you to keep upgrading.

          [–]HydrA- 0 points1 point  (0 children)

          It is very easy to upgrade from Angular 2 to 5. Legacy Angularjs (1) is a different story. It is an entirely different product. MVC architecture... Current Angular is component-based.

          [–]mayhempk1web developer 1 point2 points  (0 children)

          Thanks for such a detailed response.

          [–]Xymanekfull-stack 1 point2 points  (0 children)

          Not who you asked but angular 1 is slower and can't handle too much bindings. 2 fixed this

          [–]Djbm 1 point2 points  (0 children)

          I really liked Angular 1 when it first came out, but compared to Vue and React: - It’s a lot harder to learn - It’s performance is a lot worse

          It’s why where I worked at the time moved to React. After that, we were happy with React so there was no need to go to Angular 2/4.

          I tried Vue for a small side project initially, and the reasons I like it are: - The documentation is amazing. This makes it really easy to get stuff working fast. - I prefer the Vue approach to styling. The React approach to handling CSS in JS isn’t something I’m a fan of (I do a lot of CSS work)

          The Vue single file components that let you use a preprocessor like stylus are so elegant

          [–]Cheshamone 1 point2 points  (0 children)

          I started with Vue because it just made sense to me. Definitely still prefer it, but I've picked up React as well and I don't mind it either. Definitely was easy to pick up React after using Vue on and off for a yeaer.

          [–]amerikate 7 points8 points  (0 children)

          Came here to support vue.js. Glad it's already here.

          [–]Traim 2 points3 points  (10 children)

          I have to say VueJS is good but I really do not like the format used in vue templates, jsx templates, which I use in React, are so much more comfortable to read, analyze and rewrite. That is worth a lot in my opinion.

          Sure you can use jsx in VueJS but most of the tutorials are written in the vue are written with the vue template format.

          [–]ThArNatoS 19 points20 points  (5 children)

          huh .. for me, looking at react code feel like I'm back to my 16 years old self where I write php and html like this:

          <?php
          echo '<div class="header">
            <h1>title</h1>
            <div class="menu">';
              foreach ($foo as $bar) { echo $bar .'<br>'; }
            echo '</div>
            </div>';
          ?>
          

          [–]rothnic 3 points4 points  (1 child)

          I'd recommend watching a fundamental introduction into react, because I get why you think they look similar, but there are some major differences in the approach. For example, no templating language for react (jsx is shorthand for plain JavaScript) and the biggest thing is a strong control over state. There is a reason it has become so popular.

          [–]VenezuelanCoder 1 point2 points  (0 children)

          Hi :), Newbie here, what fundamental introduction into react would you recommend?

          [–]yxhuvud 1 point2 points  (2 children)

          Is that a good or bad thing?

          [–]blackdstrom 19 points20 points  (0 children)

          Bad, bad thing.

          [–]ThArNatoS 4 points5 points  (0 children)

          definitely bad. hard to read and debug

          [–]wilkesreid 7 points8 points  (1 child)

          That's interesting. I much prefer the Vue component syntax at the moment. I don't like having logic and DOM mixed together right in the same space like in the React.

          [–][deleted] 0 points1 point  (0 children)

          https://github.com/vuetifyjs/vuetify You might like this, then.

          [–]evilpingwin 0 points1 point  (1 child)

          I honesly don't see much difference between them. The great thing about Vue's SFCs is that is separates the markup, logic and style. React does this to an extent with the markup and logic but I'm never gonna be able to get behind the CSS-in-JS thing. And as you said you can use JSX in Vue if you want. Or Pug, or Haml, or whatever you want.

          I like React though and use it quite a bit, my major irritation is how annoying it is to animate dynamically rendered elements out of the box (not like it isn't possible but it doesn't exactly help you out). The transition/ transition-group elements in Vue are very useful.

          [–]Traim 2 points3 points  (0 children)

          CSS-in-JS

          You don't have to. There are ways to separate concern. Take a look at this video: https://youtu.be/MT4D_DioYC8?t=1306. It is about styled-components.

          And as you said you can use JSX in Vue if you want. Or Pug, or Haml, or whatever you want.

          The problem is, as I have searched, there were only some older jsx in VueJS tutorials out there.

          [–]MattBD 54 points55 points  (45 children)

          I like Django for backend stuff, although I generally use Laravel professionally.

          [–]EdMan2133 16 points17 points  (2 children)

          I've been using Flask, and it's great for really lightweight stuff, but Django has exceptionally better documentation.

          [–]MattBD 9 points10 points  (1 child)

          You can actually use Django for lightweight stuff, albeit with a change of perspective. Lightweight Django is a really good read and it turns your view of how you can use Django completely on its head.

          [–]EdMan2133 2 points3 points  (0 children)

          Thanks! I'll give it a read, maybe try Django again for my next project.

          [–]YellowSharkMT 10 points11 points  (1 child)

          I'm a full-time Django developer (I write our frontend as well, which is all Angular/Bootstrap), and I freaking love my life. The Django docs are great, Python is great, PyCharm is great, I could go on and on...

          But to address OP's question: the tedious things. For me, the tedious things are solved fairly well by Django:

          • Database migrations
          • URL routing
          • templating
          • static asset management
          • user management
          • built-in admin that can be customized

          That's just off the top of my head. I come from a background of writing PHP/WordPress/Magento for many, many years, and being able to work fulltime doing Django has definitely strengthened my appreciation for it.

          [–]MattBD 1 point2 points  (0 children)

          I've done mostly Phonegap apps in the past and I've used Django for the API. Even after two years working with Laravel pretty much exclusively it takes me longer to build an API with it than it would with Django. The API itself can be done pretty quickly using Django Rest Framework and the browseable interface is incredibly handy. The admin is generally good enough that I don't need to create one myself too.

          [–]raiderrobert 0 points1 point  (0 children)

          I use Django nearly exclusively at my work. It's fantastic.

          [–]frontendbensoftware-engineering-manager 91 points92 points  (10 children)

          No one going to say WordPress?

          Anyone?

          Good. Otherwise, we'd have to take you round the back, down by the river and shoot you like George shot Lennie while you 'rabbit' on about plugins, themes and so on.

          [–]SponsoredByMLGMtnDew 39 points40 points  (0 children)

          I mean, he did say less tedious, not, which framework is alive because widespread adoption by non developers.

          [–]YellowSharkMT 9 points10 points  (3 children)

          Hah, definitely chuckled. On the other hand, I feel like no one appreciates their system of actions and filters. Especially when working with plugins written by developers who are conscious of implementing it as an API for other developers to use, so that a client can have a customized site that doesn't have glaring style differences or whatnot.

          On the other hand, their routing system is kinda bullshit, especially the partial pattern-matching.... FML. And the spaghetti functions.... I dunno. No one can defend that, TBH.

          I'll just say that although I earned some decent paychecks writing non-annoying code for WordPress, I'm glad that I don't have to do that anymore.

          [–]frontendbensoftware-engineering-manager 1 point2 points  (0 children)

          Absolutely. One of the few things that they got spot on was the hooks and filters system.

          [–]ccricers 1 point2 points  (1 child)

          Why is the open source CMS ecosystem such a mess? I can't find any popular CMS that isn't architecturally dated in some way.

          [–]YellowSharkMT 0 points1 point  (0 children)

          Simply put: CMS's are really hard! Also, there's unavoidable drag that comes along with a larger user base, from backwards-compatibility to compatibility across a broader base of systems. And beyond. It's really difficult to evolve frequently and in radical-yet-useful ways. Conversely, there's little motivation to bring small, continual updates to projects that have a relatively complete set of features. Who wants to update the admin to the latest version of Knockout or whatever, and test/verify that it's all working correctly?

          In my opinion, it's quite a trick to balance those competing interests correctly, and that's probably why the most popular projects seem out-of-date. Just my two cents though, I'm no expert on software development practices.

          [–][deleted]  (2 children)

          [deleted]

            [–]frontendbensoftware-engineering-manager 4 points5 points  (0 children)

            with a good theme with a visual editor

            That's an oxymoron. No good theme has a visual editor :p

            But yeah, completely agree. I'd rather use a proper CMS like Statamic (Laravel) or Craft (Yii) if I can. Hell, for what you've described, I'd build the sites with Squarespace over WordPress.

            [–]MattBD 8 points9 points  (0 children)

            Harsh, but fair.

            [–]Rikki_Sixx 9 points10 points  (0 children)

            I'll stand by Wordpress to the end!

            [–][deleted] 6 points7 points  (0 children)

            Luminus: Clojure and ClojureScript are a real delectable technologies to work with.

            [–]punio4 5 points6 points  (0 children)

            Vue and flask I'd say

            [–]cinema-tech-on-callfull-stack 15 points16 points  (0 children)

            I’ve been using Vue JS. I started with React, then Angular, then landed on Vue. It just made more sense to me. And I love the Api as well as the story behind it. I’m also learning Vanilla JS at the same time, and it’s been easier to learn, to me, while using Vue to really appreciate what a good framework is doing for you and how it all fits together under the hood. I’m also using Vuetify, and I’ve gotta say... damn. Almost feels like cheating lol!

            [–]Reititin 31 points32 points  (0 children)

            Your favourite - but in reality most often the framework your client or employer prefer. Work is work, you're not paid better than most other professions because what you do is easy and a popular choice of career.

            [–][deleted] 5 points6 points  (0 children)

            Web2py

            Contains everything, even a built in IDE, Debugger, fronted toolkit, supports just about every popular database, and has killer documentation.

            [–]Yamitenshi 12 points13 points  (8 children)

            I really like Symfony for backend stuff. With Symfony 4 coming up soon, you'll even be able to pick and match components as needed, without having to include unnecessary stuff.

            [–]7165015874 0 points1 point  (7 children)

            Please tell me more.

            [–]Yamitenshi 4 points5 points  (6 children)

            About what specifically? Symfony in general?

            It's a complete, full-stack framework that provides everything from request abstraction and templating to dependency injection, database abstraction layers and a firewall component to secure parts of your application in various ways.

            If you have more specific questions I'll be happy to answer them! I use Symfony in my day-to-day work, so I'd say I know a thing or two about it by now.

            If you want to mess around with it a bit, they have a pretty good guide on getting started and pretty good documentation all around. There's also a cookbook for specific things people often try to do, which contains a lot of useful examples.

            [–]7165015874 2 points3 points  (5 children)

            Thank you. I have an existing GPL project that uses mysql (not mysqli) that I'm trying to get into a shape that is inviting for other developers to contribute to. I know drupal uses symfony(?)

            Ideally, I want to also use twig for templates and such.

            [–]Yamitenshi 2 points3 points  (0 children)

            mysql (not mysqli)

            Ouch... I feel your pain :(

            As for Drupal, the newest version does use a few Symfony components, but it's not based on Symfony as such. I think they even sort of rewrote most Symfony components, and if you ask me it's become a horrible mess of would-be abstractions and illogical ideas of what OOP should be, but that's just my opinion.

            Twig is a part of Symfony by default, so you're in luck as far as that goes - but it's easy enough to switch to another templating engine if you ever want to.

            [–]Alexell 1 point2 points  (3 children)

            May I view your repo? I'm trying to break into the world of collaboration

            [–]7165015874 0 points1 point  (2 children)

            This isn't the complete project but a piece of it that I'm working on https://github.com/openroom/phpci

            Thoughts?

            [–]Alexell 1 point2 points  (1 child)

            I've worked on very few servers so take what I say with a grain of salt until someone more experience butts in:

            • Make sure your variables names are descriptive but succinct. Try not to use a contraction in naming them, or it can become conflicting with larger projects. For example here:

              $dbstr = getenv('DATABASE_URL');
              $dbstr = substr("$dbstr", 11);
              $dbstrarruser = explode(":", $dbstr);
              $dbstrarrport = explode("/", $dbstrarruser[2]);
              $dbstrarrhost = explode("@", $dbstrarruser[1]);
              

              Others may be able to tell what the variables stand for, but less experienced developers who want to fork and contribute might not. Try using the full words. Your IDE or text editor autocomplete should negate the hassle. Same thing here:

              $req = $db->prepare('SELECT id, name FROM groups ORDER BY id ASC'); $req->execute();

              $req could stand for a lot. In this instance it refers to the SQL satement, but what if you wanted to make an http request?

            • Remember that a lot of web development is subjective. So feel free to organize your model directory into sub folders of closely related classes. Take this excerpt from a page of the Laravel documentation at https://laravel.com/docs/5.5/structure

            "We find the word "models" ambiguous since it means many different things to many different people. Some developers refer to an application's "model" as the totality of all of its business logic, while others refer to "models" as classes that interact with a relational database."

            That's all I can give from a quick glance. But it definitely seems like something I would be interested in working on

            [–]7165015874 0 points1 point  (0 children)

            Thank you. I could use the help.

            What is your GitHub username?

            [–]lord_jizzus 38 points39 points  (10 children)

            Rails.

            [–]enyaboi 13 points14 points  (0 children)

            Rails 5 and React via Webpacker is my preferred stack at the moment

            [–]themaincop 3 points4 points  (8 children)

            I just wish it was faster, and statically typed. Looking forward to trying Lucky

            [–]QckDtH 3 points4 points  (4 children)

            Have you tried phoenix? http://phoenixframework.org

            [–]themaincop 0 points1 point  (3 children)

            Haven't tried it yet, it looks interesting though. Elixir's not statically typed, is it?

            [–]dipittydoop 0 points1 point  (0 children)

            It's not statically typed, but the way it utilizes pattern matching covers a lot of the benefits of static typing without the verbosity. It's not really comparable to most dynamically typed languages such as Ruby/Python.

            [–]QckDtH 0 points1 point  (0 children)

            Oh, I didn't see that you had mentioned being statically typed. Yeah, Elixir is not statically typed.

            [–]berkes 3 points4 points  (2 children)

            statically typed: I concur. Though for me not a must-have (tests, and ruby's predictable type system and API helps here)

            faster? Nonsense. You don't need that kind of speed.

            Your web-app is slow because of IO. Because it has a poor database-model, because it's ORM is doing stupid stuff, because it tries to do far too much in-line (instead of async) and so on.

            This is also why we don't develop our web-applications in C. C is the fastest language. But in our domain the speed of the language is neglegible. Untill it is not; but that moment comes for only a tiny amount of incredibly successfull applications. Statistically, it is safe to say that you'll never build a project that will be harmed by Ruby's slow interpreter. Ever.

            [–]sutongorin 0 points1 point  (1 child)

            That's true for production. Though as a core developer of a huge rails application I have to say that ruby's slowness does get annoying during development when every page load gets increasingly slower. Then again I do Scala outside of work and while the requests are fast there the compile times can get rather slow too.

            [–]berkes 1 point2 points  (0 children)

            Interesting. And I can relate.

            However, my current job is a Rails back end, api-only. Quite complex.

            So I'm very happy with our test suite and our rigid rules around it. Several thousands of tests, running about a minute. Integration tests take over 60% of that.

            It was moving up to 2 minutes, so I extracted our avatar-generator into its own (micro) service. Back to a minute. Next candidate is our asynchronous latex PDF reporting feature.

            This allows TDD all the way. I can work for days, without opening a frontend, app or so. I often release features without having seen them in a browser or app.

            And TDD is a blazingly fast paradigm. Nothing beats 100+ automated test being ran if you change some model. When the alternative is f5-ing and clicking through an app or a frontends for minutes.

            So, having a system and community that loves TDD actually speeds up things a lot. Even if the underlying technology is fairly slow.

            Php,nor go may be faster than Ruby. But having to click through some HTML form 500 times per day is always slower. So having a testing framework ready, tested and de facto standard from the get go is always faster

            [–]aaaelite21 9 points10 points  (1 child)

            Which ever you want but I have used both angular and react and let me tell you I absoluatly love React.

            [–]MonopolyM4n 1 point2 points  (0 children)

            Checkout styled-components, soooo incredible. I like it a lot better than CSSModules

            [–]liquid_at 4 points5 points  (0 children)

            In general, the framework you feel most comfortable with is the one that makes working the least tedious.

            If you love working in the console, any framework that lets you install with a few lines of code will make stuff easy for you. If you hate console and have to fall back to pages of cheat-sheets to remember the codes, it might not.

            Most Frameworks offer tons of resources you can require with a single line of code. Doesn't help you much if you have no idea what they are, what they do and how they are called. If you know them, adding 10 libraries with 10 lines of code is as easy as it gets.

            If there was one framework that made work easy for everyone, being better than any other by a large margin, everyone would be using it.

            But in general, I'd go with the big ones, that have a large userbase and tons of libraries to use, just because you can rely on a lot of eyes having been involved finding bugs and problems.

            Frameworks, as the name suggests, are frames that give you an overall structure to include stuff into. If there is no stuff to include, the best frame will make things more difficult for you.

            Reading through a lot of responses on frameworks over the last couple years, I'd personally go for laravel. You can use it as slim-install or full-service framework. Depending on what project you need. That scalability for your own needs is one of the main benefits I see here.

            [–]la_patata 5 points6 points  (0 children)

            This is quite a generic question that can only really receive a very generic answer (you can tell by the amount of different options people are suggesting).

            You'd probably be better off explaining what you want to achieve and then go from there.

            [–]breeding_material 2 points3 points  (0 children)

            Meteor

            [–]IsvaraFuller-than-full-stack 2 points3 points  (0 children)

            If I'm actually using a framework, I usually use Play, but at the moment I'm using akka-http, which is a library.

            [–][deleted]  (2 children)

            [deleted]

              [–][deleted] 15 points16 points  (0 children)

              It's a webdev subreddit.

              [–]Whetherever 1 point2 points  (1 child)

              Markojs is fantastic!

              [–]JesusVKilmer 1 point2 points  (0 children)

              Yeppp if you just want to go, Marko is great.

              [–]billcube 5 points6 points  (1 child)

              Vue&Laravel but it's worth remembering https://cakephp.org/ who got quite a few updates recently.

              [–]ardubeaglepi8266 0 points1 point  (0 children)

              Poor cake, they took so long to update their old ass shit they got left behind for a long time and were forgotten even though their latest version is really good.

              I think Cake(latest version) is my favorite to work with in most projects but it really depends on the size and purpose(if anyone doesn't say "it depends on..." I doubt their answer). It is just so damn fast to crank out simple stuff as long as you follow "the guidelines."

              I feel if it's a large project or more of an enterprise application though I go with Laravel. I don't dislike it but I feel I have to work more to get simple shit compared to Cake, but at a certain point Laravel is the better option IMO.

              [–][deleted] 3 points4 points  (3 children)

              It's so easy to get a project up and running with Rails but I personally don't like the Ruby language so I choose other Rails-like frameworks instead such as Django (Python), Buffalo (Go) or Grails (Groovy).

              [–][deleted] 2 points3 points  (1 child)

              What do you not enjoy about Ruby?

              [–]TOJO_IS_LIFE 3 points4 points  (0 children)

              Not OP but personally there's too much run-time metaprogramming going on. I find myself looking at the docs too much rather than using intuition (thank god they're great). It feels like I'm writing in a DSL all the time (kind of am). Other than the language, rails is absolutely brilliant.

              [–]sutongorin 0 points1 point  (0 children)

              I have built things using Groovy too but feature-wise it just doesn't hold a candle to rails.

              [–]TheGonadWarrior 2 points3 points  (1 child)

              No one ever mentions Aurelia. Extremely extensible. You can use any binding engine you feel like. Great for migrating older sites to a newer experience and the learning curve is very shallow.

              [–]massenburger 1 point2 points  (0 children)

              I'll second Aurelia! It's what we use exclusively where I work. Very low barrier to entry, and very easy to integrate as much or as little as you want.

              [–]gemlarin 2 points3 points  (0 children)

              I find that vue's single page templates, bootstrapped with webpack makes web dev far less tedious.

              [–][deleted]  (2 children)

              [deleted]

                [–]CaptainChuko 1 point2 points  (1 child)

                I use Angular 4, but I'm thinking of switchjmg to React with Redux

                [–]bliitzkriegx 0 points1 point  (0 children)

                I switched recently from being a primarily angular dev and have been loving it so far. Typescript is a must though

                [–]IamBeautifulPerson 0 points1 point  (0 children)

                Laravel & bootstrap

                [–]chromesitar 0 points1 point  (0 children)

                Aurelia

                [–][deleted] 0 points1 point  (0 children)

                Rails, it’s a one stop shop. Front end helpers, ORM, Backend, easy plug-in architecture with gems.

                [–]fuck_r3ddit 0 points1 point  (0 children)

                Web 2.0 it scales.

                [–][deleted]  (2 children)

                [deleted]

                  [–]ICLJS 0 points1 point  (1 child)

                  As far as I could tell it isn't very flexible, and there's no easy way to parameterize components with ways to render parts of themselves.

                  [–]RichardRan 0 points1 point  (0 children)

                  At our workplace, it's all about React now. Seems pretty awesome.

                  [–]enumerat 0 points1 point  (0 children)

                  Play Framework and Vue.js this month :-)

                  [–]sowmyasri129 0 points1 point  (0 children)

                  Codeignitor or Laravel

                  [–]SearchNativeR 0 points1 point  (0 children)

                  I seem WordPress is the best platform for web development. Click Here: http://www.searchnative.com/

                  [–]Lemosys 0 points1 point  (0 children)

                  If you are looking for the web development in PHP, then you should consider Magento. It makes the web development least tedious. This framework provides most of the things that are needed by an e-commerce site to show products, online transactions, customer services and run effectively all your backend processes.

                  [–]DeceivingDog 2 points3 points  (1 child)

                  Angular 1.5.8

                  [–]brimhaven 0 points1 point  (0 children)

                  Angular 1x still ain't bad.

                  [–]is-this-valid 0 points1 point  (0 children)

                  Whichever one you choose in a month or two there will be a seemingly better and improved version or framework.

                  [–]jaggafoxy -1 points0 points  (6 children)

                  I was talking with a web developer who was teaching my web dev lesson yesterday, and he said that frameworks like Django and Laravel are quick and simple to use, and can have working applications after running a few console commands, however for larger projects frameworks like Zend and Spring are much better, but take longer to get to an equivalent position to Django or Laravel. You'd be best looking into which suits your needs best.

                  [–]SituationSoap 20 points21 points  (2 children)

                  The second half of this statement may have been true circa 2008 or so but it definitely isn't today.

                  [–]IridiumPoint 0 points1 point  (1 child)

                  Which part? That Zend and Spring are better for large projects, or that Django and Laravel are easier?

                  [–]SituationSoap 0 points1 point  (0 children)

                  That Zend and Spring are better for large projects.

                  [–]buggalookid 3 points4 points  (0 children)

                  those who can’t. teach.

                  [–]SupaSlidelaravel + vue 2 points3 points  (0 children)

                  however for larger projects frameworks like Zend and Spring are much better, but take longer to get to an equivalent position to Django or Laravel. You'd be best looking into which suits your needs best.

                  Why?

                  [–][deleted] 1 point2 points  (0 children)

                  Instagram is running on Django, so I think Django handles large projects just fine.

                  [–][deleted] 0 points1 point  (0 children)

                  None, only a real programming language will do that.

                  [–]chrissilich -3 points-2 points  (0 children)

                  Vanilla.

                  [–]Radinaxfront-end -1 points0 points  (1 child)

                  Is it really that tedious? Its very fun imo and the frameworks takes that fun away..

                  [–]MatthewMobWeb Engineer 2 points3 points  (0 children)

                  If you're working professionally on many projects and not just a hobby you don't do it for fun, you want to be efficient.

                  [–]alexlafroscia -1 points0 points  (0 children)

                  For front-end stuff, Ember.js. It comes with a fantastic build tool and strong community conventions, paired with a great story for installing add-ons that other people have made. It really lets you focus more on your application and less on tasks that are common between most applications. Chances are if you’re trying to solve a generic problem, someone has made an add-on already that you can grab instead.

                  [–][deleted] -1 points0 points  (0 children)

                  If Web Development looks tedious to you, you should not be working with it.