On React and WordPress

I have a great deal of respect for Automattic in general and Matt Mullenweg in particular.  They have done an amazing job with WordPress, which is now used by more than a quarter of all websites.  But they are also a great example of how companies can work in the Open Source software space.

It’s not all just business.  Automattic raises the ethics bar quite high.  And today there is an excellent example of how they do it.  Check out this blog post by Matt on why WordPress will be moving away from the React JavaScript framework developed by Facebook:

I think Facebook’s clause is actually clearer than many other approaches companies could take, and Facebook has been one of the better open source contributors out there. But we have a lot of problems to tackle, and convincing the world that Facebook’s patent clause is fine isn’t ours to take on. It’s their fight.

Respect!

Angular vs. React vs. Vue: A 2017 comparison

Angular vs. React vs. Vue: A 2017 comparison” is a very lengthy and detailed comparison of the top three most popular JavaScript frameworks: Angular, React and Vue.  There are also lots of links and references for further reading, but even if you don’t leave the article, chances are you’ll have a pretty good idea of which framework suits you best.  For me, it looks like it’s Vue.

And as a side note, this quote made me smile:

The dirty little secret is that most “modern JavaScript development” is nothing to do with actually building websites — it’s building packages that can be used by people who build libraries that can be used by people who build frameworks that people who write tutorials and teach courses can teach.I’m not sure anyone is actually building anything for actual users to interact with.

CakePHP with NightwatchJS on Travis CI

My colleague Andrey Vystavkin has been setting up a testing environment for our CakePHP projects recently.  We had one before, of course, using PHPUnit.  But this time we wanted to add Google Chrome headless browser with some form of JavaScript test suite, so that we could cover functional tests and a bit of front-end.  Andrey described the configuration of NightwatchJS on TravisCI in this blog post.  If you are more of a “show me the code on GitHub” person, have a look at this Pull Request (still work in progress) on our project-template-cakephp project.

Once we are happy with the TravisCI configuration, we’ll be bringing this setup to our BitBucket Pipelines environment as well.

The setup is also based around CakePHP framework, but it’s easy enough to adopt it to any other framework, PHP or not.

Spellbook of Modern Web Dev

Spellbook of Modern Web Dev is a collection of 2,000+ carefully selected links to resources on anything web development related.  It covers subjects from Internet history and basics of HTML, CSS, and Javascript, all the way to tools, libraries and advanced usage of web technologies, and more; from network protocols and browser compatibility to development environments, containers, and ChatOps.

  • This document originated from a bunch of most commonly used links and learning resources I sent to every new web developer on our full-stack web development team.
  • For each problem domain and each technology, I try my best to pick only one or a few links that are most important, typical, common or popular and not outdated, base on the clear trendspublic data and empirical observation.
  • Prefer fine-grained classifications and deep hierarchies over featureless descriptions and distractive comments.
  • Ideally, each line is a unique category. The ” / “ symbol between the links means they are replaceable. The “, “symbol between the links means they are complementary.
  • I wish this document could be closer to a kind of knowledge graph or skill tree than a list or a collection.
  • It currently contains 2000+ links (projects, tools, plugins, services, articles, books, sites, etc.)

On one hand, this is one of the best single resources on the topic of web development that I’ve seen in a very long time.  On the other hand, it re-confirms my belief in “there is no such thing as a full-stack web developer”.  There’s just too many levels, and there’s too much depth to each level for a single individual to be an expert at.  But you get bonus points for trying.

React vs Angular vs Ember vs Vue.js

Following the yesterday’s post on WordPress choosing the JavaScript framework, here comes a rather extensive review of React, Angular, Ember, and Vue.  This one looks at the four frameworks from different perspectives, provides feature lists, and has a tonne of links to external resources for more information.