Category Archives: javascript

JavaScript

Node.js openSSL and V8 security updates

Over the last few weeks several security updates have been released for Node.js.

OpenSSL – Various updates fix OpenSSL bugs and apply to most versions of Node.js from V0.10.

DoS – The next update fixes a DoS (denial of service) vulnerability for versions v0.12 to v5. An attacker could cause the HTTP Socket to shut down. This is critical severity. Reference: CVE-2015-8027.

V8 Out-of-bounds access – This bug is with the V8 engines JSON implementation. Under certain circumstances, the severity is rated as high.

Node.js recommend all users upgrade ASAP. If you’ve already got a version/upgrade since the 4th December 2015, you can relax. If not, you should arrange to upgrade soon.

Building Mobile Apps with Jo

If, like me, you prefer to build your applications using HTML / JavaScript and CSS, then the Jo HTML5 Mobile App Framework could be your choice in the future.

Jo is a relatively new framework which was first released in June 2010 (version 0.0.1). In November 2010 they released version 0.3.0.

So what is Jo?

Jo is a JavaScript User Interface framework using CSS3 for mobile applications. It’s compatible with PhoneGap (popular framework for building native iOS, Android, Symbian and Blackberry applications using HTML and JavaScript).

Using Jo and PhoneGap, you can create native iPhone/Android/Symbian applications which are both lightweight and responsive as well as pretty. Jo currently supports the follow platforms – webOS, iOS, Android, Symbian, Safari and Chrome.

Once I’ve had a chance to really play with this, I’ll hopefully post up some tutorials. In the meantime, here are some handy references.

I think it looks great, what do you guys think?

Serious Flash Alternative using CSS3?

Sencha Animator

Although Adode Flash has improved performance-wise (arguably) recently and more people are upgrading to more powerful systems (desktops, laptops, notebooks, netbooks, tablets and other mobile web hardware) – still flash cannot offer what the world has been looking for. That is – even better performance cross-platform, more openness and better security (to name a just a few). Obviously the blanket ban flash has been given from some Apple products (think Iphone/Ipad) is not helping.

For the past couple of years, web technology has exploded in terms of what can be achieved using JavaScript. Things have also moved forward with HTML and CSS. The terms used to describe these recent improvements are HTML5.

Apple has mentioned many times that flash is not needed and that “everything that can be done in Flash, can be done using HTML5” (that is – HTML, JavaScript, CSS and perhaps Canvas). They are not the first to say this (Apple usually pick-up on what other already know!).

With the Iphone and Ipad selling like hotcakes, web application providers previously using Flash (or considering using it) need to have a serious think about the user reach. They could do the old-fashion thing – build a Flash web application and an alternative HTML 4 one. Or they could build one in HTML 5. Now that’s a hard one!

There are various JavaScript libraries out there with some great UI. But one of the newest ones using the very latest technologies comes from the team that brought us EXT JS (now run by Sencha). It’s called Sencha Animator. Is Sencha Animator a serious flash alternative?

Sencha Animator comes as a desktop application used to create rich HTML5 animation. It’s currently in its infancy but could have real potential. There is one drawback at this point-in-time however; it requires a Webkit browser to work. This means it will work in Google Chrome, Apple Safari, Iphone, Ipad, Blackberry torch, Google Android and other Webkit based browsers. But it will not fully work in IE, Opera or Firefox. At least not until the CSS3 is fully supported (IE 9 claims support).

At this time, many of the CSS3 techniques used by Sencha Animator are Webkit only (i.e. it has things like: -webkit-text-fill-color and -webkit-transform).

Sooner or later all major browsers should support these… but just not yet.

Basic Ajax usage with X

Over the next several articles I’ll be covering the “Basic Ajax usage with X”, for example “Basic Ajax usage with jQuery”.

The idea is to take the latest stable version of the chosen JavaScript Framework (for example jQuery) and examine what’s required to achieve the most basic Ajax calls.

I’ll be looking at a few things here, notably the ease of use and the minimum required footprint (in regards to download size).

Note that I will not necessary by using Ajax in the traditional sense of the word (i.e. with XML) as the intention of these articles is to strip everything back to the absolute basics.

I’m not 100% certain about all the frameworks I’ll cover now, but I will most certainly be covering jQuery, MooTools, Prototype, dojo, YUI and ExtJS. If I have the time, I may look at some of the newer ones as well.

This post is a living post (I’ll revisit and link up the articles).

Cheers guys!

Advanced JavaScript Lessons for the 21st Century

Javascript, as you may know, has not changed very much since it first appeared back in the 90’s. Over the past couple of years, however, many people have been pushing to give the language an overhaul. It could take another couple of years before these new additions are in place in all major browsers (who knows), but things WILL change – and hopefully for the better. The next version of JavaScript should be JavaScript 2.

JavaScript started off pretty popular, it kicked Vbscript out of the game (not long after Microsoft introduced it). But after a while it also gained a lot of critics (all languages do!). One reason (in my view) is because many people coded poorly in JavaScript, and spat out horrible looking code. Another is because the Browser DOM API which JavaScript was used with was poor (it is still not great, but work is being done here too). JavaScript was the only real option available (and it still is). However, over the past few years, many serious programmers introduced new ways of using JavaScript – ways which are much more pretty, and powerful. In fact, these new ways have made it clearer what was actually missing from the language to start with, what was already there but overlooked by many, and what would make it better for the future.

The founder of JavaScript, Brendan Eich, still appears to be one of the major forces in the future of the Language. You can keep up-to-date by reading his blog over at weblogs.mozillazine.org/roadmap/.

Anyway, on to the main purposed of this post. I found an excellent Advanced JavaScript presentation which John Resig has made public (he actually presented this at a recent Web 2.0 expo, in New York). In my opinion, this presentation is first class.

The presentation aims to teach you how to understand the following code from the Prototype Library:

// The .bind method from Prototype.js 
Function.prototype.bind = function(){ 
  var fn = this, args = Array.prototype.slice.call(arguments), object = args.shift(); 
  return function(){ 
    return fn.apply(object, 
      args.concat(Array.prototype.slice.call(arguments))); 
  }; 
};

Have fun, I did!