55 Comments

  1. Greg

    Amazing. Here is a vote for vue.

    Report

  2. Alex Mills (Viper007Bond)

    Unlike Calypso, Gutenberg’s usage of React is pretty small: https://news.ycombinator.com/item?id=15254063

    Switching is a fairly easy task it seems.

    Report

  3. JeffC

    Sanity prevails…

    Faith restored!

    Report

  4. Eugene Kopich

    Isn’t WordPress mature enough to have its own wordpress.js?

    Report

    • M

      Reinventing the wheel is not necessary + it’s better to adopt some existing framework and gain some contributors/contributions along the way.

      I would love for Vue to be used but I’m afraid that lack of time for the rewrite dictates otherwise.

      Report

    • Gary

      It’s an interesting option, but definitely not in the foreseeable future. Existing frameworks fit WordPress’ requirements, so building on a proven solution is going to give us the best results.

      Report

    • Denis

      I’ll just leave this here: https://xkcd.com/927/

      Report

    • mark k.

      @Eugene Kopich, obviously not. A sign of maturity is the ability to reflect on your past mistakes and try to avoid doing them again. WordPress was burned with the decision of using backbone, a library which the usage off resulted in an unmaintainable unreadable code. Selecting React/preact or vue is likely to end up the same as JS libraries are getting in and out fashion faster then woman cloths.

      There are two JS libraries used in wordpress that work well, tinymce and jquery. The first is because it is actively maintained by a company which has a core interest in maintaining it, and the second is because it is relatively simple.

      For react, preact and Vue, there is no reason to believe they will be around in 5 years, and it is obviously better to have something that is of lesser quality but you can iterate on at your own pace. But obviously the great core thinkers prefer to switch libraries in 5 years over having their fate in their own hands. Oh wait, no one is going to convert now the backbone mess into a modern library so expect in 5 years to end up with a gutenberg no one can maintain, just like the media library now.

      Report

      • Paul Fernhout

        I suggested Mithril.js as an alternative in November 2015 when I filed Calypso issue #650 “Replace React with Mithril for licensing reasons” linked in the article (the one with Automattic’s lawyer’s comment).

        I still feel Mithril.js is a great choice. But the more important decision factor is to use any vdom like Mithril, Maquette, or Inferno supporting the emerging “HyperScript” API instead of a library like Vue or Angular that emphasizes HTML-ish templating. That way, people can code their UIs entirely in standard JavaScript/TypeScript which makes maintenance and refactoring easier. And in a worst case, you can always replace the vdom backend with another that also supports the HyperScript API while most application code using that API can stay the same.

        See my comment here for more details on why using the HyperScript API instead of HTML-ish templating makes sense:
        https://github.com/WordPress/gutenberg/issues/2733#issuecomment-330076576

        Report

      • Peter Knight

        @Paul
        Personally I think Vue’s HTML-ish templating adds value here over the other alternatives, because it is more approachable to a wider number of people. But Vue let’s you render however way you want, devs can code using their own render functions and even adopt jsx if they want. Vue works just fine alongside jQuery as well, which is a plus.

        @mark

        You make it sound like Backbone was an foreseeable error. I don’t think we were burned by adding Backbone, it just didn’t work out. As Gary mentions on this page, back then JS expertise inside WP was still evolving, we know much more now and have more models to choose from as the JS community has worked things out over time.

        I would have preferred to see WP build out our own tailor made JS framework/library but there’s no appetite for it as far as I can see.

        Report

      • mark k.

        @peter, no need to twist my words. I didn’t say that using backbone was an obvious mistake that could have been avoided at the time, all I said that having the experience, repeating the same state of mind which lead to that mistake is a problem and sign of immaturity.

        WordPress refuses to grow as a software development organization, and the same state of mind of “hacking something quick using the hip tools de jour” is still prevalent. Just the fact of wordpress not being able to actually enforce its coding standard on its own code is a sure sign for that.

        The media library is something that was not designed and was just hacked, under the assumption that if the code works it is good enough. Same is happening with the customizer that it is basically a long number of hacks with no design, the rest API which also was not designed for the community but only for the needs of whoever worked on it, and it is in core only because its developers were deemed to not be mature enough to accept “it is not ready” call made by matt (in retrospect his reasons were wrong, but that is not the point here), and now we have gutenberg which even before its 0.1 release started to suffer from feature creep.

        As basically it is the exact same people being driving core through all this mishaps, it is not clear why one should assume any lesson would be applied today when you did not see all those people learning much before.

        If whatever framework is selected without moving all the core to it (which is basically what pento and others advocate), it does not matter which one it will be as it will be a long term fail, incurring technical debt for other people to handle because “We are not mature enough to do boring things”.

        Report

  5. Kishore

    voting for vue JS.

    Report

  6. Marcus Tibesar

    I just can’t stand using tinymce anymore. I’m going to find an alternative workflow now due to this delay of Gutenberg. I feel bad for the Gutenberg and Calypso devs…

    Report

  7. Luis Godinho

    Vue +1

    Report

  8. Peter Knight

    I’m so grateful a different path has been chosen, words cannot describe.

    Report

  9. Matt Mullenweg

    “The discussion regarding the new framework continues behind closed doors and is not open to the public”

    I want to strongly counter this. The discussion on library choice has been ongoing for months and occurs across Github tickets, Make/P2s, and in the weekly JS meetings. Anyone who would like their view (Vue?) heard in the decision is welcome to contribute at any of those venues.

    I am certain the eventual decision will not make everyone happy, but it will be informed by everyone’s views.

    Report

    • M Asif Rahman

      Very true. But at the same time, many feel it this way because, though from start of the debate, Vue had overwhelmingly strong positive support, but we still went for React in Guttenberg, this gave a very wrong message. I remember talking with you in WC Europe about this, you were pretty open, but that’s not true for all other Core Contributor or Automattic Employees!
      I completely understand how this is very complex and uneasy situation this is for you, but you have made a very wise decision after all!

      And now probably its a great opportunity to restore faith in community, if its not closed door, we all could see who supports what, and how much positive feedback or vote each getting. I don’t see any competition there, only concern is how much we have to redo, and if we could avoid learning curve for some key members, but the community support is at Vue!

      Report

    • mark k.

      I wonder @matt, which public discussions are you referring to? I just poped at the core js channel and people are complaining there that there was no discussion, and there is still no discussion, not even a make post.

      Can wordpress get back to being a community project without having the never ending feeling that all important decisions are made by automatic? At this point even techcrunch can not differentiate anymore between wordpress and automattic https://techcrunch.com/2017/09/15/wordpress-to-ditch-react-library-over-facebook-patent-clause-risk/.

      Report

  10. M Asif Rahman

    Now could we take a moment, and reflect how it all turned out? You see almost like 100% people are reacting about it positively! From the start because of the Patent clause choosing React was always wrong, as per ecosystem I understand the point of choosing React, but that license was always a big no-no. Nowing choosing anything other Vue will be mainly Ego or justing thinking about only a few people’s learning curve! Keep in mind I am not saying Vue is the best in the world, there are other really good frameworks, and there will be in future too, but as it’s a community driven project, you have to look for overwhelmingly strong positive support for Vue!

    Report

  11. Ahmad Awais

    It’s a tough decision but one I support. I have created a GitHub issue to discuss Choosing the JavaScript Framework for Gutenberg (~WordPress).

    I am rooting for VueJS here. 🎯 I truly believe that WordPress can do a lot better with VueJS. VueJS has a huge set of followers and it’s easier for beginners to adopt. This can also turn into a big win for WordPress if done right. I have used VueJS myself, in several projects, and I love it.

    VueJS:

    PRO: Beginner friendly
    PRO: Proven track-record of success with Laravel
    PRO: Way more popular as compared to Preact with a great amount of community support
    PRO: More contributors than Preact
    CONS: Key person dependency

    Preact:

    PRO: Easier transition
    PRO: Evolving community with about the same amount of monetary support as of VueJS
    PRO: A subset of React based libraries would still be well supported with Preact and with compat.
    CON: Transition could lead to messy code and confusion (for beginners)
    CONS: Key person dependency

    P.S. I have also blogged about this, – Blog: WordPress-React Breakup: My Vue on P*react + WordPress Development! — https://ahmda.ws/WPVuePreact

    Report

    • Peter Knight

      Another possible blocker for Preact was brought up on hackernews: some people/businesses concerned with the legal implications of React’s license might have the same concerns with preact considering how much it resembles React. If we’re going to avoid the baggage of that we might as well do it properly.

      Report

  12. Cristian

    Preact benefits directly from React’s large number of OSS packages/components available. Vue’s eco system is much smaller in comparison.

    Report

  13. Joel Newcomer

    Another vote for Vue.

    Report

  14. Paul

    I think the way that Matt’s original post was structured and how comments/replies have been careful to walk a specific line, that it’s subtly setting a path towards Preact being the replacement library.

    Not my choice, I can’t see why WordPress would want to use a second-tier library (i.e. one based on another but lacking features).

    Report

  15. Jeffrey

    Good news for today.

    Report

  16. Greg Schoppe

    This is a Major step forward for Gutenberg that I am glad the community pushed so hard for… and it’s the perfect time to refactor the data structure to store in JSON

    Report

  17. Steve Pheriche

    I’m hoping for Vue, but am expecting Preact.

    Report

  18. Morten Rand-Hendriksen

    This is the right decision, and it could not have come soon enough.

    Moving forward, I think VueJS is the right framework for WordPress core, not just because it is a solid option without problematic licensing issues, but because WordPress can invest in VueJS and grow it to be a framework fitting the needs of the WordPress community.

    Report

  19. Erick Danzer

    Apart from the big main decision here, this stood out to me: “It will likely delay Gutenberg at least a few weeks, and may push the release into next year.”

    I can’t believe we’re even considering a release of Gutenberg in 2017. Given how incomplete it still is, how little documentation there is, and how little thought has still been given to backwards compatibility and impact on the theme/plugin ecosystem, releasing Gutenberg in the next few months would be a disaster. And that was before the decision to change libraries.

    While I’m not opposed to Gutenberg overall, the timing here is deadly. Given the magnitude of the change, Gutenberg should be completely done, with all documentation in place, for at least 3-6 months to give the ecosystem time to adjust. I beg you to slow down please.

    Report

    • Rick Gregory

      Beat me to it. This bothers me – 5.0 has always been positioned as a “when it’s ready” release and it sounds from that phrasing like there’s always been a date, at least a rough one, in mind.

      Come on, folks – share a roadmap. What major things are left to be done before we have a release? Whats the plan for testing against existing sites and code? What does that include (i.e. will there be testing against sites made with page builders? Which ones? What versions?) Same issue for plugins. What happens to themes that aren’t Gutenberg aware? etc… All of this should be on a central, easily seen doc, not scattered in tickets etc.

      For that matter, why isn’t the same approach as the REST API release being done here? Release a version of core with Gutenberg as a plugin. Let us all download it, test it, catch things, but not use it for sites where there are breaking bugs AND let us deploy it for clients who really will benefit from the new editor. Catch things, fix things, refine things. Do this for a release or two. Then put it in core.

      On the React issue – Kudos. Seriously. That reversal was the right thing to do even if not easy and it’s great to see it done. I’d like to see Vue but again, a set of requirements for the candidates should be public.

      Report

    • Tammie Lister

      It’s worth clarifying here a little, as I totally get that there’s a lot of information going on. 5.0 always was aimed for 2018. What was planned for 2017 was the ‘merge proposal’. This is simply when the project is ready to be considered, not merged.

      Report

      • Christopher A

        Tammie, is this your interpretation of what Matt said or are you directly speaking for him? I think part of the communications problem is that Matt has been saying different things than the Gutenberg team. When someone says “release” that means launch, not merge proposal. In order for your statement to be accurate, that would mean Matt used the incorrect words. I don’t consider Matt to be a poor writer, so I’ll continue to take his words at face value.

        Report

      • Tammie Lister

        I am not speaking for Matt, I am speaking as someone involved in the project. My comment comes from both the roadmap:
        https://make.wordpress.org/core/2017/08/11/revised-suggested-roadmap-for-gutenberg-and-customization/

        Matt also says the following in the most recent post:

        That post won’t be published, and instead I’m here to say that the Gutenberg team is going to take a step back and rewrite Gutenberg using a different library. It will likely delay Gutenberg at least a few weeks, and may push the release into next year.

        Report

      • Christopher A

        He used the words “may push the release into next year”. This doesn’t align with your “5.0 always was aimed for 2018” at all. How can a release be pushed into 2018, when it was intended for 2018 all along?

        Report

      • Justin Tadlock

        It’s a simple mistake or poor choice of words by Matt. He’s talking about the December 2017 merge proposal getting pushed back into 2018.

        FWIW, I already thought the December merge proposal was pushing it.

        Report

      • Jeff Chandler

        Matt has been adamant in saying that Gutenberg would not be merged into core unless he and the team decided it was ready. It needs way more testers/testing. Optimistically, the merge proposal would have happened with 5.0 near the end of this year but now we know that 5.0 is the target version for Gutenberg and it won’t happen without it. Both are pushed back to next year.

        Report

  20. Jonah Brown

    Was this going to be released this month? There is no support for post meta yet?

    Would gutenberg work with WooCommerce seeing how it uses Post Meta?

    Wow what a push if that is true.

    Report

    • Matt

      No, it never going to be released this month. WP v4.9 has yet to be released and Gutenberg is scheduled for v5. If there was any chance of it making it this year, it now looks like it will be next year. This is actually a very good thing.

      Report

  21. Eduardo

    I really hope they go with Vue and not Preact

    Report

  22. N'DoubleH

    Voting for vue JS.

    Report

  23. Jeff

    One more for Vue.js!

    Report

  24. Richard Ginn

    Another one more for Vue.js.

    Report

  25. Mohammed Al-Mahdawi

    From our experience with Angular, React, and Vue, we found Vue is the best one, we migrated all of our projects from Angular and React earlier to Vue.

    Report

  26. Hiep Vu

    And another one more for Vue.js

    Report

  27. Kristin

    Speaking just as an in-the-trenches-builder, not a dev, I’d say anything that delays Gutenburg ending up in core is a good thing for WordPress users. I wish the delay was to make it more user-ready but I guess we take whatever we can get.

    Maybe the good reaction to this difficult decision will encourage rethinking forcing us all to live with Gutenberg right away. How about another bundled plugin like Hello Dolly?

    Report

  28. scriptgod

    Vote #VUE2017!

    Report

  29. Michal M.

    When everyone wants Vue I’m sure it will be something different :D

    Report

  30. xjv

    Another vote for Vue.

    Report

  31. Paul

    The discussion regarding the new framework continues behind closed doors and is not open to the public

    ie; the stakeholders aka customers aka users – you know, the people that use WP.

    Report

Comments are closed.

%d bloggers like this: