Impressions after Vue Conf 2017

Impressions after Vue Conf 2017

TL;DR Vue.js is getting its high interest for a valid reason. Its 1st official conference has proven that it's backed up by the active & open community, its ecosystem is developing in interesting directions & in the end - there are valid (& safe) JS web app development options that are not about React or Angular. But this event was not only about Vue as tech - by participating one could learn a lot about where OSS or general webdev are heading to. As you may have already read, I've decided to move my focus from general software…

Read More

You probably shouldn't be turning everything into SPAs

You probably shouldn't be turning everything into SPAs

TL;DR Modern JS app-building frameworks & libs share one quality - they are component-based. Why not use this (high) granularity to bundle components into small, user journey-focused micro-apps instead of building humongous, complex SPAs. Such model, if applied properly, may bring certain qualities usually associated to microservices into UI layer. JavaScript frameworks & libraries for building in-browser apps have made a tremendous impact on developers' careers around the globe. Angular, React or Ember are among most desired skills, barely anyone even considers building "traditional", server-side-templated MV-Whatever application anymore. SPA (Single Page App) is the king, long live…

Read More

Few test-related tricks for (even) the old dogs

Few test-related tricks for (even) the old dogs

Just some random thoughts / stuff I've bumped into recently. Enjoy. Interweave tests in support I love this legacy code rule (it's supposed to help fighting the technical debt): When you touch any existing piece of code, always leave it in at least slightly better shape than it was before. It makes sense, sounds golden, but it's quite intangible (or ephemeral) by its nature. What does it mean "slightly better shape"? ReSharper's auto-format is just fine? :P Fortunately, there's another rule - it's quite ancient, but someone has reminded it to me quite recently (for which I am very…

Read More

Fat is not dead. Sort of.

Fat is not dead. Sort of.

JS, JS, JS everywhere JavaScript is the language of the web - we all have heard that many times. It has a variety of potential usages in various (sometimes not obvious) scenarios - even server-side ones - but there was a category of applications I could not imagine JS in - thick (desktop) clients. However, recently I've encountered two projects that have made me reconsider this opinion. What's interesting, they both use a very similar approach & both have already made a lot of noise around. Thick client, where art thou? But before we delve into actual projects - who…

Read More

Web for the impatient - using the language of the future

Web for the impatient - using the language of the future

JavaScript (& the descendants of so-called traditional web stack) is everywhere. In browsers, on mobile, on low-energy tech (IoT) even on the server-side. Regardless of its flaws & limitations, it didn't succumb - quite the opposite - it's evolving & what's more interesting, it's forking in so many directions that it's quite hard to comprehend, if you want to remain up-to-date. I've already written about Dart, TypeScript, Polymer, NodeJS/io.js - but today I'll focus on the future of JavaScript (well... ECMAScript - hopefully you get the difference) itself & ... the fact that it's already here. Harmony As we…

Read More

Keeping things simple, the JavaScript front-end version

Keeping things simple, the JavaScript front-end version

Few days ago I had a short discussion about an idea for a webapp (publicly available, commercial, you know - all the usual stuff). As I am doing a lot of stuff in web nowadays & I've made few SPAs with different libs recently, I was asked: "Which SPA library / framework would you use today?" My interlocutor was utterly surprised with my answer: "The truth is, that in at least 80% of cases, I wouldn't use any. At least not to build a full-fledged SPA, maybe just to structure the code / handle events / manage dependencies / etc."…

Read More

Edging the edges - AngularJS 1.3 has been released

The waiting is over, it's already here. Maybe it doesn't resolve all the concerns (yes, concerns, I wouldn't even call them issues), but 1.3 is a major update that was supposed to prove that Angular.js is evolving & community's voice is being taken under consideration. What's new? If you want full list of changes, you have to check here. Below you can find the list of what was important for me personally: One-time bindings: finally a response to all of those who: were questioning the performance of digest loop in large applications evangalized simplicity of simple templated rendering…

Read More

Presentation layer-level integration in modular SPAs

I've spend some time on prototyping a modular SPA hub that meets the following core requirements: from users perspective - it all looks like one app (seamless navigation, same looks, shared layout, etc.) it consists of independently developed (by different people) modules, BUT these modules may use other modules' presentation elements (on some established level) modules are supposed to be automatically testable (incl. presentation layer) junction points between modules (navigation / integration points) have to be designed for failure -> if a module calls another module that is not present (not deployed / or just doesn't work) it has to gracefully…

Read More