(frustrations/questions) => suggestions/answers

Address some most common issues in web development

This could be a part two of previous post. While talking big in the previous one, this post contains more details and more concrete suggestions and answers.


Why all the complexity?

This is driven by demand. A simple concept in the market economy, supply and demand. Nowadays, people expect a web app to do more to the extend that they may require them to act like an native app. Mobile responsive, cross-browser support, real time update, offline first support, desktop push notification etc. Yeah~ I know, by looking at these things, I feel the complexity.

Why so many tools, frameworks? Do I have to use?

All these tools, frameworks are to address previous issue. As web development becomes more complex, creating one is getting more and more time-consuming and error-prone without the help of the tools and frameworks.

Of course you don’t have to use them. It really depends on the use cases. If there is a fixed business requirement, there is nothing to argue about. If not, you probably need to do some assessment before you start a project. If the project is small like serving a static marking page, then you probably don’t need complex tools or frameworks. If the site is big or may grow big potentially, then you better start thinking about adopting some tools and frameworks at early stage~ yep, better do it as early as possible~

Is there a “standard”?

Unfortunately, No!

You can say JavaScript is standard. Now there is es5, es6 and some es7 already out there and Reactjs brought JSX under people’s eyes.

No standard tool, no standard framework, no standard workflow. While every one wants to be THE standard, every one has its own standard. Chaos!

However, to look at it from another perspective, this is the beauty of this industry. Every one has a say. That’s why there is so many interesting things going on, so much creativity shows up.

So, as what should you as a web developer do? Simple. Just follow some standard. If you think you have the time and capability, you can create a new “standard”. If it is good, people may follow you!

Where should I begin?

How about this: begin from knowing what you want! Or at least try to find out~ Web development is really a wide range of things combined. Don’t mix up all these just because others are using them altogether.

If you want to learn JavaScript. Focus on the language. Check out the es6 change on babel website.

If you want to learn node or npm, install node and use npm to install some simple packages. If you want to know about the tooling, look at the tools, browserify, webpack etc. Frameworks? React, Angular, Ember etc.

You don’t have to go too deep on each one. At least you need to get an idea how each one works. Don’t just read the doc. A simple hands on would be much more helpful than long explanation.

Should I learn React?

Yeah, yeah, I know~ It is like THE thing on the web. Seems everyone is using it. You are kind of out if you haven’t put your hands on this.

I always feel that the idea behind is more important than one specific tool or framework. So even if you are not going to use React, at least read about it and try to understand the idea behind.

By just reading through the documentation of the popular flux implementation Redux created by Dan Abramov, I feel I have learnt so much.

What’s even better! There is a series of video tutorials provided by the author and it’s free! Hooray!

How can people change so fast!

This is the most common frustration. Yep, the whole industry is shifting too fast! Software is updated much more frequently. Tools come and go. I still remember I introduced React to people around me not long ago. I said something like “…This is quite interesting but is in the early stage. We don’t need to bother about it now…”. Now while its popularity is souring on the internet, it is also taking up my world.

You have to admit, things change faster now. But does that mean you have to always follow? Absolutely NOT.

However, be prepared for the change! Adopt a more open mind and just accept the fact that things will change one day and the day may come sooner than you expected.

Eventually, when you look at those changes, they are made gradually. If you stayed in the circle, you will see more sense or you will be shocked. So while focusing on your real business, keep an eye on the outside world~


These are just my personal opinions and some guidelines of how I do things. Agree? Disagree?