37 Comments

  1. Ramsey

    Great post! Thanks for this. So, where do we start learning javascript?

    What is your BEST tutorial related to WordPress? Please share! Thanks

    Report

    • Sarah Gooding

      We’ll be posting on this soon! :)

      Report

    • Steven Stern

      My question exactly! What should I be learning… JavaScript, Advanced JS, REACT, and ?

      Report

      • Alex R.

        It would be better if WordPress.com team explains why they chose React for the Calypso project. It’s not just about Javascript in general, but choosing a Javascript framework can be a big decision which can drive the community in another way. Love to hear the opinions on that.

        Report

      • Jeffr0

        You should learn pure JavaScript before you dive into any of the libraries that exist. By learning JavaScript, you’ll understand the foundation and principles of the language instead of limiting yourself to the opinions of a small library.

        Report

      • Travis Hensgen

        I’ve been working a lot over the last few months with the type of stack Calypso uses. The learning curve is admittedly steep, and I would focus on learning:

        * ES6 (aka ECMAScript 2015) – a lot of React / JS devs are writing everything in ES6 now, and with good reason as there are some syntax constructs which dramatically simplify this type of development. Arrow functions, imports and destructuring assignments in particular make working with React a whole lot easier. This is a good overview: https://github.com/lukehoban/es6features

        * Node / CommonJS – You’ll need to be familiar with CommonJS module syntax and how this works alongside Node and NPM.

        * Webpack (!!!) – the build tool of choice for the React / Module stack. Webpack is a little bit like Grunt and Gulp, and a bit more like Browserify. It’s purpose is to bundle up all of the code in your headless JS app into one or more production files, so that you don’t need to manually include your dependencies. This goes beyond just JavaScript though: Webpack has the concept of “loaders” which allow you to “require” things like images and CSS files directly in your JavaScript, and those will be included inside the production bundle as well, via data URLs (for images) or inline stylesheets (for CSS/SASS/LESS etc). There is also a Babel loader which transpiles ES6 and React JSX into browser compatible JavaScript. Webpack is tricky to learn but it is an absolutely amazing technology, and I think it’s a critical part of this future of web dev which Matt is talking about.

        * Flux (or Redux): You’ll need to know a bit about the Flux pattern created by Facebook, which enforces unidirectional data flow throughout an app. The current Flux implementation of choice is “Redux”, which has gained rapid momentum because it implements just the right parts of Flux, and can allow amazing things like hot reloading, where you can change components in your app, which is immediately seen by the browser without refresh. Flux / Redux is quite tricky to learn too, as the pattern is really quite different from monolithic PHP apps or even MVC-JS apps. Calypso doesn’t appear to use Redux, probably because Redux was created well after they started Calypso.

        * Bonus: PostCSS (https://github.com/postcss/postcss). The new take on LESS and SASS, which can work in tandem with webpack to allow you to work with custom or future-spec CSS rules, which are then transpiled into compatible CSS. This is really cool as it’s not monolithic like LESS/SASS, and you can pick as many PostCSS plugins as you like to enhance the capabilities of CSS. For example, if you want to implement a “clearfix”, you can add the postcss-clearfix plugin, and then use just “clear: fix” as a rule in your stylesheets, which is compiled down to the standard “:after” syntax.

        So, ahem, there’s a lot to learn here, but it’s a very cool stack, and does really feel like the future of web apps to me too :)

        Report

        • Peter Knight

          Great overview!

          It’s worth checking out SystemJS & JSPM for bundling and script loading as well because it comes with some benefits if you’re bridging old-hat WordPress code with new-hat code. It supports all the common import/require/dependency loading approaches while also allowing you to import in a futureproof way using the new import spec. You can also use it load any kind of asset, stylesheets etc.

          Report

    • Remkus

      I’ve gone ahead and created a program of how to get started with JavaScript in WordPress.

      Report

  2. Rick Dees (@r1ckd33zy)

    Learn JavaScript, deeply.

    This is my take-away from this post.

    Report

  3. alex

    I guess for of us not fluent in Javascript, we will be on the outside looking in, demoted to mere users. Seems to be a step towards making WP harder to modify and maintain yourself.

    On the plus side, this is certainly a boon for developers who are fluent in Java. It may drive the “pay for help” market even harder.

    Report

    • Gregg Davis

      Just to clarify, Mr. Mullenweg made the point to learn JavaScript, not Java. There’s a big difference! Also, it seemed to to make a lot of sense that as long as developers are making more integrations and new user interfaces using JavaScript, it will actually make “mere users” more able to modify and maintain WordPress themselves, not the other way around.

      Report

      • Laura

        Seems ironic to me. There were thousands of Javascript gadgets and tools but they began disappearing as PHP grew. Now Javascript is set to make a come back? What next… virtual pets and web rings?

        What did happen with the Javascript or maybe it was Java which was supposed to be having malware issues in the updates for web browsers? Likely a couple of years ago now but doesn’t seem that long ago.

        I like the retro Internet so the return of Javascript is like having an old friend visit.

        Report

        • Joachim Jensen

          JavaScript is not making a return. It has been part of the web for decades, and even today WordPress contains thousands of lines of JavaScript.
          Browsers have built-in interpreters so websites can run JavaScript.

          On the other hand, there are browser plugins so you can run Java Applets, and yes, there have been security issues with this.
          Java itself can be used to create dynamic websites just like PHP.

          Report

    • Ben

      @alex – JavaScript is not Java – they are two completely different programming languages.

      JavaScript is the stuff browsers use to make things hide and show on screen, it typically powers the majority of all online slideshows, and JavaScript allows WordPress to do the nifty drag and drop functionality with media uploads among other useful user experience enhancements. In other words, its a fast scripting language for browsers to use to provide interactivity.

      Java is a completely different beast and is used primarily for enterprise development when you need an application to work with many different enterprise systems and work across a wide variety of operating systems. It’s not really web/browser focused per se.

      Report

    • Jeffr0

      Java and JavaScript are two totally different things. Let’s not mistake the two. Even Matt said on stage that if you start learning Java, you’ll be going in an opposite direction of WordPress.

      Report

    • Jeremy Englert

      “Seems to be a step towards making WP harder to modify and maintain yourself.”

      JavaScript is probably one of the easiest languages to pick up quickly. If anything, this is a huge step in making WordPress more usable for millions of developers.

      Report

      • KTS915

        JavaScript is probably one of the easiest languages to pick up quickly.

        Agreed.

        If anything, this is a huge step in making WordPress more usable for millions of developers.

        Not so sure about this, though. That might be true in the short term. But in the medium and longer tern, surely it opens up another possibility.

        If this pushes more and more developers to learn javascript, is it inevitable that they will continue to want to work with WordPress? Isn’t it at least as likely that they will find that WP is an old-fashioned beast, and that javascript development is better integrated with, or bound to, something else instead?

        I am not saying that I know what that “something else” might be. It’s very hard to predict the future. But I can’t help thinking that those proclaiming with such certainty that this is good news for WordPress might be 100% mistaken. Of course, it might still be good for the web and for users. But it might well lead to the development of alternatives to WP that usurp its current dominant position.

        Report

      • Peter Knight

        Javascript is definitely not an easy language to pick up, it has plenty of surprising qualities that won’t be obvious to new learners and there are many design patterns that can confuse people. Closures for example routinely mystify devs who’ve been at it for a while. PHP by comparison is much easier. I would say Javascript is the funnest though, especially now that it can be applied almost everywhere.

        Report

      • Giulio

        I’m sorry I have to disagree but Javascript is definitely NOT an easy language to learn. It may seem easy on the surface but if you want to become proficient there are a lot of of little things that you will grasp only with a lot of experience

        Report

  4. Shapeshifter 3

    Is this a good place to start, or not: http://www.w3schools.com/js/

    Report

  5. Michael

    I’m glad Matt finally agreed to what John O Nolan and the rest of the web has known for years. I wish, however, he’d be so bold as to lay out specific plans for WordPress and explain any actual strategies that may be in place. Like, what happens in 13 years? How does he plan on growing market share so aggressively, as he’s been stating for so long? What’s with the love affair with PHP? If I were a shareholder, and this was our annual shareholder meeting, I would be leaving a little worried and with more questions that when I arrived. (Luckily its nothing of the sort.)

    Report

    • Joachim Jensen

      Yes, I don’t know why people seem to ignore/forget the fact that Calypso is a slap in the face of Ghost.

      Report

      • Jeffr0

        How is it a slap in the face? If anything, it validates the direction and decision John O’ Nolan took with Ghost. Even John recognizes this.

        http://john.onolan.org/calypso/

        Now that the world’s largest Content Management System is going in the same direction, there could be no better validation that decision we made 3 years ago was the correct one. We’ve fucked up a lot of things since Ghost started, and we’ve learned from all of them, but I’m very pleased we got this one right.

        Overall this move is huge, both for the WordPress ecosystem, as well as open source as a whole.

        Report

      • Peter Knight

        I’m also curious to know how you arrive at the slap in the face of Ghost idea…? The entire web has been moving toward a javascript-centric future well before Ghost was even thought up.

        Report

    • Jeffr0

      I’d like to hear from anyone who knows what the web is going to be like five years from now and get it right let alone 13 years. As for market share or reach, Jetpack is going to play a large role.

      But what I think will play an even larger role is the translations of major plugins into many different languages. Matt said on stage that a lot people who use WordPress in a different language do so without the ability to use plugins, since most are not translated.

      “JavaScript Interfaces and PHP APIs are the Future of WordPress” how much more specific do you want Matt to be? If you were a shareholder, most of what you heard about the future of the self-hosted WordPress project that is open source would be of no concern to you as you wouldn’t have any financial investment in it.

      Report

      • KTS915

        Quote 1: “As for market share or reach, Jetpack is going to play a large role.”

        Quote 2: “JavaScript Interfaces and PHP APIs are the Future of WordPress.”

        I can’t help feeling that, if one of those statements turns out to be right, then the other won’t be.

        Report

    • Peter Knight

      Every user is a stakeholder:) I’m pretty stoked with the focus on the open API and translations, this will only help WordPress continue its dominance as the most attractive platform to work with. As for projecting a 13 year vision, not sure its even possible to do that with much detail given how fast everything changes.

      Report

  6. Peter Cralen

    Here is the full video Matt Mullenweg: State of the Word 2015

    Report

  7. Richard Eng

    I believe quite strongly that JavaScript and API-driven interfaces are the future of not just WordPress but the web

    I beg to differ. First of all, the JS web framework landscape is horribly fragmented and volatile. Many frameworks have the life span of a fruit fly. Angular 1 was superseded by Angular 2 which was then upended by React. Who knows what will happen in the next few years? I don’t see a “standard” framework emerging any time soon.

    Users suffer from “choice paralysis.” Angular, React, Ember, Meteor, Backbone, Knockout, Polymer, Mithril, Aurelia, etc., etc., etc. Good Grief, are you kidding me?!!

    This amusing graphic underscores the situation.

    Second, JavaScript itself is a highly dysfunctional language. It will eventually be eclipsed by some other language (or languages) once WebAssembly finally arrives. In the meantime, there’s a whole world of choice in transpiled languages.

    Recently, we learned that JavaScript may be the most complex programming language in use today.

    Presently, I’m trying to get ECMA to fix this awful language.

    Report

  8. Richard Eng

    “They say that the best way to predict the future is to create it,” Mullenweg said.

    It was Alan kay, the father of Smalltalk and a great visionary, who first said it.

    Report

Comments are closed.

%d bloggers like this: