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

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

Logging client-side events in SPA JS-heavy application using RxJS

Modern JS app frameworks / libraries that follow the SPA paradigm (static content + JS app + JSON data via XHR) have changed the way you can track your users’ activities - monitoring HTTP requests to the server is not enough as client-side routing (like the one in Backbone.js or Angular.js) doesn’t have to make any actual request at all! Why to bother with logging client-side events? What’s really important is the information that flies to the server as this is what gets persisted, isn’t it? In general - yes - totally agree, but:…

Read More