Release Update and Resources Available Now

Hi Folks!

Zac here with an update on the JavaScript for WordPress Master Course.  First off, if you did not have a chance to watch my last course release video update, please do!

Now I want to share with you a few resources for those who want to access more content right now.

Beginner: Working with JavaScript and WordPress

Brian Hogg

Course advisor, Brian Hogg has a great course available that covers a lot of complimentary content to the Master Course:

  1. How to Use JS with Themes and Plugins – This is not something I will really get into in this course, but it is fundamental to know how to use JavaScript with traditional themes and plugins.
  2. Using jQuery – We will not use jQuery much in the course, but it is a super helpful library to know and a lot of WP themes and plugins use it.
  3. AJAX & WP REST API – Brian’s course does a great job showing how you can easily drop some JS & API functionality into an existing theme or plugin.

The course is just under 2hrs and you can watch if for free!  If you have not done too much JS with traditional WP themes or plugins, I encourage you to check out this course!

Advanced: Single Page Web Apps with WP API & Angular

Roy Sivan

Course advisor, Roy Sivan, has a course for those of you looking for more advanced Framework and API related content.

We will work with Angular in the course, but since Part 2: Libraries & Frameworks will not be out for a little while, Roy’s course will let you start learning about using Angular to build a WP theme with the API right now.

Please check out the course preview on Lynda.com 🙂

Master Course Release Update

I know it is getting close to the release date for Part 1: Learn JavaScript Deeply, but I will save the final details for my next video update.

Also, I am going to start sharing my video updates on the new site blog so more people have access to the details of what’s going on with the course.

Thank you again for your support, and until next time,

Keep on Learning and Happy WordPressing 🙂

Zac

Advisor Update – Zack Tollman, Nick Ciske and Brian Messenlehner

Hi Folks!

I want to say again how grateful I am to all of the advisors who have been helping behind the scenes answer questions and give advice.

In this update I share how Zack, Nick and Brian have all contributed to and influenced the direction of this course in powerful ways.

Zack Tollman – @tollmanz

Zack TollmanWhen I attended A Day of REST, several people referenced Zack’s work with the WP API.  I finally got a chance to catch up to him this week with a list of questions about his experience and thoughts on the real world examples we reference at the end of the course.

He talked about some cool integrations he has worked on like Slack messages live posting to WordPress, building a pre API theme with Backbone, which he blogged about, and how rebuilding an admin UI with JS is boring.

Then we got into the juicy stuff like using WP CLI with the API, posting to WP via voice, working with offline content, thinking on a bigger scale about how WordPress can integrate with and learn from other systems with APIs, and how native WP API calls can actually be quite expensive depending on you do them.  He shared a vision of how apps or middleware could handle bundling or creating custom calls to the WP API to make them more efficient.  This was something I realized while working on ReactPress and was wondering how to best address it in the course, so it was good to hear him talk about it.

Finally, I laid out an issue that has been troubling me.  He rephrased it great, and I’ll summarize: “As a community we’re more at a learning stage [with JS and the API] than we are at a best practice stage.”  He made the suggestion for me to reach out to advisors about pain points they had experienced and discuss these in the course as we get into looking at real world examples.  I like this approach and it’s something I plan to do 🙂

Nick Ciske – @nciske

Not only does Nick have extensive WP and Genesis experience, but he has also worked with API integrations in WordPress, WooCommerce and other systems like FileMaker, which I have had to deal with in the past and would not want to do again.  Nick also has experience with both OAuth 1 and 2 (short summary on the difference).  Most of our conversation revolved around this topic of OAuth.

I had been wondering whether to use OAuth 1 or 2 in the course with our decoupled web app project.  Nick recommended OAuth 1 for a number of reasons: 1) it’s easier to implement in many cases, 2) when you’re talking to your own app it makes sense, 3) we do not need 3rd party apps using our API for authentication, or the other way around, 4) no refresh tokens, 5) it does not require SSL, although I will address how easy this can be to setup and generally recommend SSL either way.

We looked at advisor, Rachel Baker’s, OAuth 1 Server, as well as the WP OAuth Server plugin, which handles OAuth 2.  We will likely use these in the course so feel free to go check them out early 🙂  If we have time to get into Basic Auth we will and if we can’t squeeze OAuth2 into an actual project, the plugin does have good guides and knowledge base.  Big thanks to Nick for helping me work through how we’ll address OAuth in the course, this was a much needed conversation.

Brian Messenlehner – @bmess

The work Brian has done is helping us tremendously in this course. From the BadgesOS plugin we’re using for rewards on the site to his work withReactor and AppPresser, which we will look at as platforms for building native mobile apps using JS and the WP API.  I have wanted to do a course featuring this mobile content since back in my Treehouse days and I’m super excited that we can include in the Master Course.

My most recent chat with Brian started with a high level discussion of how you can use the API as a migration tool.  He also talked about getting to a place where widgets and even templates could be passed around via the API.  There was also an exciting mention of CMB2 and API integration, and I found this interesting thread on the topic you may enjoy.

The biggest take away was a great discussion on how we can use Reactor, AppPresser, Angular, Ionic and Phone Gap in the course as a mobile app stack that leverages JS at it’s core and allows for custom development and drag and drop UIs.  Having this as part of the course is going to open new doors for a lot of folks, and we have Brian in large part to thank.

Also, a shout out to course advisor, Scott Bollinger @scottbolinger, who has done a lot of work building and writing about this stack.

So, Hows’ the Course Coming?

I hope you’re enjoying these insights from our advisors, because their help has been so valuable to me building this course. I’m also guessing you’d like to know more about how the course is coming.

We’re in the scripting and recording phase and I should have a some of the Vanilla JavaScript portion of the course to share with you in the next update.  Finishing the last bits of some of the projects has been put on hold to get recording done, but I did have a few projects professionally code reviewed, which felt good.

I have also been playing around a bit more with LearnDash and the Social Learner Theme, which we are using for the course portion of the site.  This site will live on a separate subdomain from the main course site.  I’ve also pondered whether we would have time to do an app for the course using Reactor, but definitely no promises there 😉

Okay, that’s it from me for now 🙂  I’ll get you some sneak peaks of the course next time.

Thank you again for your support and interest in the course, and until next time, Keep on Learning and Happy WordPressing!

Zac

Advisor Update – Josh Pollock Special

Hi folks!

I had a great time meeting several of you all at WordCamp Miami this last weekend.  My talk on JS libraries and frameworks should be up on WordPress.tv soon, but here are the slides in the meantime 🙂

One of the highlights of the weekend was meeting with course advisor, Josh Pollock, who just released a course on the REST API.  I want to tell you about Josh, his course and encourage you all to go buy it (I did)!

Josh Pollock

Josh is a developer and educator who has made a name for himself writing and teaching about the REST API (with a number of Angular examples as well).  He has some impressive pluginsa responsive, drag and drop form builder and the only native WP A/B Testing plugin.

On top of that he wrote The Ultimate Guide to WordPress REST API, an in-depth, free e-book you should definitely download.

His course breaks down into four parts: An Introduction to the API, Authentication Basics, How to Customize the API, and Building Apps with the API and Angular.

I have a few reasons why I think you should take his course before mine comes out in April:

  1. If you have not worked with the API yet, this will be the perfect introduction.
  2. There is a little overlap with my course, but mostly just with API fundamentals you will really want to know.
  3. Josh focuses on building with Angular.  We learn Angular too, but go more in depth with React.
  4. This course is a bit shorter than mine (~3hrs versus ~40 hrs) so you can definitely get through the whole thing in the next month.

You can view the outline of the course and signup on Josh’s site.  He is offering the course as a whole and as individual sections.

Early Bird Special Coming March 1 for Master Course

As I mentioned in the last video update, I will not be doing the Kickstarter, but I will start the early bird specials on March 1st.  I will have more details on that coming later this week 🙂

Thanks again for your support, and until next time,
Keep on Learning and Happy WordPressing!!!

Cheers,
Zac

Advisor Update – Chris Wiegman, Jack Lenox & Eric Lewis

So much JavaScript!

Anyone who has dived full time into learning something deeply has an idea of what my life has been like lately, as I continue to prepare this JS for WP Master Course 🙂

I wanted to pause from building projects to share some of the great insights I have gotten from recent conversations with experts in the field.

Chris Wiegman

Chris WiegmanI have loved getting to know Chris, a security expert in the community, through WordCamps and teaching WordPress.  I had a chat with him about security and how it applies to JS development.  He talked about some of the common vulnerabilities with JS, like unsanitized input and output, injection, cross site scripting, and pointed me to the Open Web Application Security Project (OWASP) guide on the top 10 security threats.  This will definitely be something we cover in the course.  I liked his recommendation to at least have a layer of JS security helper functions, similar to what WordPress has in Core with PHP, but for JavaScript.  Maybe we eventually see something like that in core, he thought.

This week I will be passing Chris the first major project for the course to get his help finding holes and vulnerabilities.  Thanks Chris for your help! Check out Chris’s talks at WordCamp.tv andfollow him on Twitter.

Jack Lenox

Jack has made a name for himself through his work and talks on building themes with JavaScript in WordPress.  I caught up with him to ask a few questions in regards to the projects for the course and best practices on JS themes in WordPress.  As he began to answer my questions, I realized he has thought about this quite a bit over the last few years and taken a number of different approaches to how to best build WordPress themes with JavaScript.  I’m really looking forward to hearing his talk at a Day of REST about some of the lessons he’s learned.

One of the questions I had for him was about routing in JS, taking action based on the URL, in decoupled apps as well as in WP themes.  He talked about why he really likes Page.js.  He also shared about a project he has that automatically creates PHP WP template files based on your JS templates.  This provides a really cool and rich fallback layer for when JavaScript is disabled if you’re building a WP theme.

Jack has a great article and tutorial series on building themes with JS and the REST API over on ThemeShaper that you should check out and stay tuned to for more.  When I asked him about what folks should learn about JavaScript in general, he mentioned prototypes, inheritance and then pulled Functional JavaScript off the shelf as a good reference.  Aces Jack, Aces.  Follow Jack on Twitter for updates on his talk at a Day of REST!

Eric Lewis

Eric LewisIn digging into learning more about the history of JS and WP, I wanted to talk with someone who had worked with an early JS framework project in Core, particularly the Media Grid buildout in Backbone.  Not only did Eric contribute to the project, but he built a really cool WP Media JavaScript Guide as a WP plugin that you can install to learn, interactively, how to work with the core media library using JS and Backbone.  He graciously shared about his experience with the projects as well as working with JS in general.

When it comes to choosing and implementing a framework, Eric emphasized the importance of making decisions based on features rather than frameworks: understand at a high level what different JS frameworks and libraries offer; learn how they work and are structured; understand how they will help or hinder the specific needs of your project.

We also got into some things related to working with Backbone specifically, like implementing subviews and working with Marionette. This talk from Jaquith on Backbone came up too.  It was good to chat with Eric and learn more about the history (and future) of JavaScript.  He has two recent JS tweets that you should read out too 🙂 Thanks Eric!

Take time to learn

If you are looking to dive deep into JavaScript, even only waist deep, it can be a lot to learn and the ecosystem is constantly evolving.

Add time to learn into your routine if you have not already.

Do more than just read an article, start tinkering or expanding your knowledge through new projects.  Hopefully some of the links above will give you some inspiration and direction on learning JavaScript for WordPress 🙂

Next..

My next announcement will include a peak at one of the cool vanilla JS projects we will build in the Master Course.  Look for that announcement next week, and Kickstarter news as soon as I have the new date set.

Thanks again for your support, and until next time,
Keep on Learning and Happy WordPressing!!!

Cheers,
Zac

Advisor Update – Scott Boligner, Kevin Stover & Adam Silverstein

Wow!

What a flurry of learning it has been meeting with all of the amazing advisors for the JavaScript for WordPress Master Course (and then following up on all the resources they have shared)!

I’d like to share a few cool things I’ve learned from them in the last few weeks:

Scott Bolinger

Scott is an AngularJS and Ionic guy, well known for his work with AppPresser.  He talked to me about the upcoming changes with Angular 2 (some details) and ES6, the importance of learning JS concepts like Scope and Binding (I recommend reading this), and why he likes the tool Webpackover Grunt or Gulp.

He has some great articles on his blog that I recommend reading.  Also, follow Scott on Twitter.

 

Kevin Stover

Kevin StoverKevin works as lead dev on the wonderful Ninja Forms plugin and recently rebuilt the entire thing using Backbone, Underscore, Marionette and some jQuery.  He very graciously walked me through the code, architecture decisions and some of the weird things he learned along the way (like working with RequireJS and WordPress).  I didn’t completely understand 100% of everything he showed me, but it was a very educational and I took lots of notes 😉

He shared this about it all:  “We’ve always wanted Ninja Forms to be as extensible as possible. Backbone, along with Underscore templating, takes customization to a whole new level; you can create HTML templates to replace any form element. The possibilities are really exciting. Of course, it also means we have a more stable and maintainable code base.”  Thanks Kevin! Follow Kevin on Twitter.

Adam Silverstein

Several advisors suggested I talk with Adam, who worked on the Revisions update in Core using Backbone.js.  Next time you’re in WordPress check out the interface for Revisions on a post or page then watch his WordCamp talk on how they did this. He also has some more great WordCamp talks on Backbone.

We talked as well about other examples of Backbone in Core, like the Media Grid, Theme Browser and Customizer.  He emphasized the move away from using AJAX and shared a really great WP API JavaScript library built in Backbone on Github.  Follow Adam on Twitter.

See what I mean?!!

That’s just three of the 20+ advisors we have helping with the course!!!  I’ll be coming to you again next week with some more great tips from my discussions.

I hope that we can all benefit from the wisdom they have shared. If you have specific questions for any of the advisors listed on the site, please let me know and I’ll see what I can do 🙂

Enjoy the links in your spare time and until next time,
Keep on Learning and Happy WordPressing!!!

Cheers,
Zac

PS – I have a blog post coming this week on “Where I Have Been (Re)Learning JavaScript”.  Follow me on Twitter and on my WordPress Blog to see the post.  It has tons of articles, videos and online courses 🙂