I AM LISTENING TO
|
WHAT I LIKE
  • English
  • German


BLOG FILTER



How do I choose the right JavaScript framework for my next single-page application project?

A question I have asked myself over and over again.

There are countless options these days, that claim to be the ultimate solution to all our developments needs.

USED BEFORE

I have build applications with

  1. Angular
  2. Backbone
  3. Ember.js
  4. Knockout
  5. Ampersand.js
  6. Rivets

TRIED BEFORE

I have looked at

  1. Polymer
  2. React
  3. and many other solutions out there.

And I seem to be evaluating new options every week :)

ANSWERS ?

The only answer I can give you is that :

  1. None of them will fit any of your projects perfectly.
  2. None of these will cover all project areas to your personal satisfaction.
  3. None of these will prevent you from errors and the need for unconventional solutions.

In the end its a matter of personal taste and project requirements. We only have limited resources to finish a project and find solutions to unsolved problems in a timely fashion (yes this always happens). Go out and play :) Also take  a look at TodoMVC, which might help you to decide. No guarantees !

Over the past few month I have evaluated all the things that I used in the past. I  started stripping it all down to a bare set of essentials, that have been following me for a long time. There are solutions that just fit and require no replacement.

GOING SOLO

So my answer for the perfect framework, is a set of solid singular solutions that have proven themselves over the years. Working solo or together in harmony.

 Like a painter I want to choose my own brushes and color mixture. Programming is an art that needs freedom.  A freedom that can often be limited by a too strictly defined framework. Structure is important, but it should never dictate the options you have to fulfill your project goals and limit you.

I will be covering some of those tools here in coming articles.

I will talk about:

  1. MVC
  2. DOM manipulation
  3. Templates
  4. Data-Binding
  5. Directives
  6. Routing
  7. Observables for Arrays and Objects
  8. Modules
  9. Dependency Loading
  10. Utility solutions

…enjoy coding

readmore

When the defer attribute is present in the script tag, it specifies that the script is executed when the page has finished parsing. A requirement that is enforced by Google for example (Page-Speed ranking).

Currently the WordPress wp_enqueue_script provides no easy way to add new attributes, but there is a way around that :)
The below hack / filter needs to be added to your theme function.php. The filter should be your preferred solution, as the clean_url filter has been deprecated.

Make sure that your website / theme is still loading after adding these changes. If needed you can add more exceptions, as I did for jQuery.

Hack for WordPress before 4.1

 Filter for WordPress 4.1+ 
Updated: 26.04.2015 – using clean Regexp

 Browser Support

  1. All modern browsers
  2. Support in IE9 is flaky, as the execution order isn’t guaranteed.
  3. Can I use

readmore

Compressing your content saves bandwidth and improves render time, particular on devices with slow internet connections. Compression allows your web server to provide smaller file sizes that load faster for your visitors. Compression of your HTML and CSS files with gzip typically saves around 50 to 70 % of the file size.

Check if GZIP Compression is active on your website

  1. HTTP Compression test
  2. Check GZIP Compression

Adding GZIP Compression via your htaccess (Apache)

Adding GZIP Compression on NGINX

Adding GZIP Compression via a WordPress Plugin

A good candidate is the WP Far Future Expiration Plugin ,which not only activates GZIP compression but adds file expiration for various static file types.
Link

Check speed improvement before and after

  1. GTmetrix
  2. Google Pagespeed
  3. Pingdom Tools
  4. YSlow

readmore

As part of our complete network upgrade, portalZINE.TV gets a complete facelift as well. The whole website has been streamlined in preparation for the new season.

portalZINE TV

readmore

“Holland America Line Reisprofile Test” provides an interface for customers to find out which cruise type they are.
By sliding the images you are choosing your preferences and define your cruise type, which allows you to get an individual set of cruises sent to you.

readmore

audiosprite

Audiosprite is a node.js ffmpeg wrapper to concat small audio files into one single file. It even allows you to define the gap between each file.
Continue reading Audiosprite – node.js ffmpeg wrapper to concat small audio files into one

readmore

howler_js

Adding audio to a web project can be really a pain in the …. . Howler.js makes it almost painless to add audio for desktop or mobile solutions.

Just used the audio sprite feature in one of my projects to allow switching between sounds. Works perfectly on iOS after the first touch event.

howler.js / Github

Check out version 2.0 on Github, which provides even more solid features.
Version 2.0

readmore

appearin

Appear.In: Hang out with friends, not with Google. Appear.In lets you set up a video chat room, send friends the link, and start talking. No accounts, no sign up necessary, just talk! Already reserved a room :)

appear.in
WebRTC browser test

readmore

web_rtc

IN A PERFECT WORLD

In a perfect world all current browsers would allow the usage of WebRTC natively, but that is as always not the case ;)

WHAT IS WEBRTC ?

“WebRTC (Web Real-Time Communication) is an API definition drafted by the World Wide Web Consortium (W3C) that supports browser-to-browser applications for voice calling, video chat, and P2P file sharing without the need of either internal or external plugins.” – Wikipedia

Continue reading Using Web RTC in your web application

readmore

pztv_phonejs

“PhoneJS contains everything you’ll need to create native client applications using HTML5 and JavaScript with a single codebase and deliver solutions that target today’s most popular smartphones and tablet devices.

With a touch-optimized user experience, natively rendered widgets, straightforward page navigation, view management, and data access layers, PhoneJS is a single page application (SPA) framework for your next iOS, Android and WindowsPhone application, ready for online publication or packaged as a store-ready native app using Apache Cordova (PhoneGap).”

Really thinking about using it for one of my upcoming projects. Best documentation I have seen for a long time. Will build a test app next year :)

PhoneJS

readmore