Posted on Leave a comment

Why JavaScript will rule the internet and why you have to learn it right now

JavaScript Ninja

Warning: This article is pure speculation. I may also have exaggerated a bit. But I have a huge JavaScript mania.

Of course the JavaScript Ninja will know HTML and CSS as well.
Frontend Ninja from Dribble

Some weeks ago I had a revelation: JavaScript will become so big that most other languages will end up in niche roles.

You have JavaScript for front and back end, desktop, IoT and mobile. Did I forget something? JavaScript for nanobots?

There are the lower-level languages JavaScript cannot replace: C, C++, most likely this list will include at least Rust. Which means Rust is number one on my language learning list.

What will happen to all of the other languages? I predict many will find strong niches where they will survive.

There will probably be a lot of legacy PHP running on servers. Just like the Cobol of bank mainframes. Which is a bit of a shame since PHP 7 finally has that real programming language feeling. It is like PHP programmers have finally reached the mature middle age and are now true professionals. And soon somebody wants to replace it with Node.

Python will probably rule the data science niche.

How the internet grew from clean static HTML into a place where you hate JavaScript and love Perl

I learned to do these static HTML pages in the nineties. Yes, kids, that was the way you did the internets back then. You put the static HTML page on a server and then people read it. Actually a very convenient way of communicating information.

When JavaScript came I disliked it heavily. What I actually liked was Perl since you could use it to make very convenient web forms. And Perl was a really cool language. It was like PHP on PCP. For some reason it makes me think of a nineties techno rave. Probably since it was the nineties. And nineties was the internet plus techno raves, so it makes sense. Although I feel sorry for the kids who go to techno raves these days. Some things, like Perl and techno raves, are cool for maybe a decade. After that they belong in a museum. And then some things like Velvet Underground are just cool forever. Such are the laws of coolness. (If somebody knows the programming language equivalent of Velvet Underground, please contact me ASAP!)

(As a side note I learned that Perl still exists when I had to make all kinds of changes to a legacy Perl application last year. It was like I had absolutely forgotten it but since programming languages are quite similar you could just program Perl. And it worked.)

In the next stage you actually had to use JavaScript on the front end, but these happy little libraries like jQuery helped people do their job without actually learning actual JavaScript properly. Whatever. I think I disliked jQuery too.

How a semi-normal middle-aged man fell into love with a programming language

Then something rather odd happened. One day I tested this thing called Node and I immediately loved it. You could learn it in a few hours, you could make simple but useful programs almost immediately.

Suddenly I was absolutely in love with JavaScript, and in my heart I knew JavaScript was in love with me too. And naturally I was suddenly in love with front end JavaScript as well.

Node also gives you a lot of project ideas (that you have no time to actually create). Maybe it is due to the NPM registry which gives you a good picture of what is already available.

But this was many years before I finally understood the true potential of JavaScript. You have to learn this language completely or you will work with legacy applications for the rest of your working life.

Now I have a huge reading list of JavaScript e-books on an e-library, cause who wouldn’t like to rule the cyberspace, although most of them are about topics that are already familiar to me.

The most interesting of the e-books I am reading is about functional JavaScript. I just have to learn functional JavaScript as soon as possible. But I gotta admit this is a lot harder topic since I am not at all familiar with functional programming paradigm.

Our honorable JavaScript Sensei solves all of your JavaScript problems with words of wisdom

The skills of the JavaScript Ninja are absolutely essential for every startup.

The one trillion dollar JavaScript question is: Angular, React or Vue. And we have solved it.

Our venerable JavaScript Sensei has developed several different solutions to this problem.

Solution one is easy and cheap to understand and implement:

  • You give your developer an e-book and a web course about your chosen JavaScript framework. There are many cheap e-book libraries online and we have also used Codeacademy quite successfully
  • Give him a few days to go through the materials. If he has learned a programming language it shouldn’t be hard for him to learn a mere framework based on the mentioned language
  • Now your developer is able to work with the chosen framework at least on a basic level
  • A few months pass and he becomes a JavaScript Ninja in your chosen framework

Solution two is perhaps the most conservative one:

  • Humiliate the programmer by telling him to just use the humble jQuery. You’ll be amazed how much you can still do with it although it is humiliating. Even though it isn’t winning popularity contests any more. Shout “sodeska” each time you pass him in order to remind him of his humiliation
  • The most honorable programmer would be the one who uses plain vanilla JavaScript, but he might also be the slowest one. But he is the best, a true JavaScript Samurai

Solution three is the daring, honorable one suitable for risk-taking Startup Daimyos:

  • Find the latest, most unknown JavaScript framework. This is your company’s secret shuriken
  • Motivate the developer to study the framework with a lot of free coke, but other stimulants will work as well
  • Soon the programmer has become a JavaScript Kamikaze in the infant JavaScript framework which is hopefully still being developed when he finishes his studies
  • In a few years the framework is probably the popular, hot, big one and has left Angular, React and Vue far behind. Then you can say you used it first and gain great honor among the JavaScript Daimyo of the other startups

Solution four is the one with true JavaScript Bushido spirit:

  • All programmers shout “JavaScript Banzai“. Loud, like a true samurai, not meekly like a cowardly peasant
  • Everybody searches for JavaScript framework on GitHub with a spirit of honor and bravery
  • In your mind you know honorable victory is certain so you have to win the struggle
  • After the attack it is almost certain that one of your programmers has captured a useful JavaScript framework
  • Clone the JavaScript framework and assign the task of learning it to the programmer who has least honor
  • If the programmer has not learned the framework in two days you will assign him to legacy PHP maintenance team
  • If you did not find a JavaScript framework, you have lost your honor. You know what to do. Remember to use the wakizashi and not the katana.
Many enemies bring much honor. No difference if you are a programming language or ninja.

Notes

  • Our JavaScript Sensei is absolutely loyal and will not accept any job offers from other companies. Actually he is so skilled in stealth that nobody has seen him.
  • I remember there were a lot more of these PHP Ninja job ads at some stage but I just had to use the joke. I find the ninja stuff absolutely hilarious.
  • I know JavaScript is a bad language. This information just didn’t have space in the article.
  • Yes, I really think techno is old-fashioned. Charleston is the music of the twentytwenties.

Posted on Leave a comment

Three most popular eCommerce platforms in 2020

Are you planning to go into eCommerce in 2020? Which platform should you choose? Let’s check the most popular options.

According to Builtwith WooCommerce is the most popular eCommerce platform, followed by Shopify and Magento. So these three platforms have over half of the markets.

Most popular eCommerce platforms according to Builtwith.com.

Number one: WooCommerce

WooCommerce happens to be my personal favorite and also the one I have worked with the most. It is a WordPress plugin which transforms WordPress into a fully functional web shop.

WooCommerce has a huge number of different plugins that allow you to extend it to do whatever you need. And if there is no free or paid plugin already available you can easily order a custom plugin from an experienced WooCommerce programmer like me.

WooCommerce is completely open source but you can also choose use a SAAS version instead of a self-hosted one.

I’ll try to keep this down a bit. Let’s just say WooCommerce is an excellent choice for a small to medium web shop. It has earned it’s number one position with a 26% market share.

Number two: Shopify

Shopify holds 20% of the market share. It differs from the other most popular platforms in that you cannot install a self-hosted version – a SAAS version is the only option.

Shopify is not open source but you can customize it in a fashion quite similar to open source platforms. It has customizable themes.

You can also add functionalities by building an app – which is something quite similar to WooCommerce plugin. The difference is that the Shopify app is hosted on your own server and communicates with your shop through an API.

I created a little Shopify app and actually liked the process quite a lot. You could use any programming language which is a bonus, but you could also do the same trick in WooCommerce using the WooCommerce API.

All in all Shopify is in my opinion a good choice for a very small merchant who is just starting. I never claimed everything should be open source. But you should still choose WooCommerce.

Number three: Magento

Magento is another PHP-based web shop that you can extend just like WooCommerce. It is available as a free open source version, a commercial version as well as a SAAS version.

Basically Magento is for huge web shops. It requires powerful servers and is quite complicated. All customization projects should have a sizable budget and enough time for the programmers to figure it out.

I have worked less with Magento than with WooCommerce and would say it is for a big eCommerce shop with a huge budget. And remember to reserve enough time and resources for customization projects.

Magento 1 support is ending this year and an amazing number of Magento 1 merchants should move over to Magento 2. If you are in this situation you might find it helpful to contact an open source eCommerce programmer like me.

I liked Magento 2 a lot more than Magento 1. The situation with a huge number of Magento 1 merchants upgrading into Magento 2 this year will be rather interesting.

I would recommend Magento 2 to eCommerce merchants who are planning to go quite big.