Tag Archive: javascript


If you are a Node.js buff who likes an adventure, then you will love this… 

 

Have you heard of NodeConf (NodeConf.eu) ??? Well it’s coming to Ireland. Where abouts in Ireland? Well, that’s a mystery… Nodeland will welcome Javascript gurus upon its shores (onto a private island) from September 8th – 11th. 

Nodeland

The clever cats at NodeConf have arranged collection points in Dublin, where busses will pick up and bring you to the Nodeland, location undisclosed. 

 

It sounds like a lot of fun, it’s a 3 day event, including accommodation, banquet style dinners, oh and I forgot to mention, its Viking themed.

Nodeland

Check it out here

Advertisements

I came across an excellent blog entry, which might be of interest…

It’s by Sebastian Porto and it’s a thorough comparison of MVC frameworks; Angular, Backbone, CanJS and Ember. He, having had the opportunity to use each of those four frameworks, compares them on the following factors; Features, Flexibility, Learning Curve and documentation, Developer productivity, Community, Ecosystem, Size, Performance, Maturity, Memory leak safety and finally; Testability. He then assigned a score of between 1 and 5.

Click Image below

Javascript MVC Frameworks

 

 

 

 

 

 

 

The author himself concedes that its difficult to be impartial, as his objectivity is compromised as the scoring is based on his personal experience.

He also puts the same weight to every factor (which, depending on the project you are working on, you may not do). From this, he rounds up by saying there was not outstanding winner or loser, and underlines that a lot of the choice will be based on personal taste. It is hard to say, which framework is the “best”, if a best even exists, that is not really the question we should be asking. It is helpful though is answering specific questions though, e.g.; “does the framework have an active community” or “how difficult is it to learn, how much time will I need to invest in training”.

It’s a great article and, without going too technical, explains in a fair amount of detail, the main points which will be important to developers. Check it out here; http://sporto.github.io/blog/2013/04/12/comparison-angular-backbone-can-ember/

 

 

Backbone.js, angularJS, ember.js, knockoutJS, dojo, yui, agilityjs, knockback.js, canjs, maria, cujo.js, dermis, montage, ext.js, Sammy.js, stapes, epitome, soma.js, duel, kendo ui, pure mvc, olives, plastron js, Dijon, rappid.js, funnyface.js, knockout+classbinding, deftjs+extjs, aria templates, enyo + backbonejs…………

 

There are 20+ mainstream frameworks which operate on, or alongside Jquery.

 

My aims in writing this blog are as follows: 1.) Learn – read up on the topic so that I can learn about the current state of Javascript, MVC frameworks, and 2.) Offer some help, to those developers who are looking at which frameworks to use. I want to help point in the right direction, to help shed light on the major frameworks. With some further reading, you (if you are a Developer) can learn the advantages and the disadvantages and choose which are are the best fit for you, and the projects you might be working on.

 

According to NexTopics, (  http://nextopics.com/top-10-javascript-mvc-frameworks/  ), the top ten Javascript MVC frameworks are as follows:

 

top 10 JS MVC Framework

top 10 JS MVC Framework

 

 

 

 

 

 

 

 

In my opinion (based mostly on what I have read, discussed with clients / developers, and noticed the frameworks feature most commonly on CVs and jobspecs), the most popular are; Knockout, Backbone, Angular and Ember.

 

Knockout

 

From what I have gathered, Knockout can be an excellent choice, especially if you are using it to improve upon an existing project, or if embarking on a small project. It is one of the most simple framework to get up and running with, and, its very compatible, integrating well with 3rd party libraries. Another positive factor I have picked up is that it works in a similar way to other frameworks, eg; Angular and Ember.  This is a good thing because, if you can learn how, say, data binding works in Knockout, it is very similar in other frameworks. So, if you did need to use a more powerful framework, like Angular or Ember, you can make the transition fairly easily.

 

From what I now understand, one of the main challenges for Knockout users, is where they are using it for large projects. This is largely because, as the project gets bigger, Knockout’s view model can become increasingly complicated. This stems from the fact that the computed data isn’t organised in an optimal way, it isn’t separated well from persistable data and it can be difficult to keep track of.

 

Backbone

 

Backbone is tried and tested. Its one of the more mature frameworks which will most commonly be used, by experienced Javascript developers.

Backbone can offer the much need MVC architecture to code whilst also offering more low level control. It also features Rest api data access and routing. For bigger projects, or if you want to limit the amount of boiler plate coding required, there are plugins available that will help, eg; marionette.js.

 

Angular

Angular is more complex, more difficult to learn than Knockout or Backbone. Angular and Ember, it looks to me, likes it is difficult to choose between them. They both look to do similar things, and both can rival native apps, and minimise code / time investment.

 

In reading up on the benefits of Angular, I have to be honest, I was confronted with a lot of technical specs, which I didn’t fully grasp. And so, I’m not going to try and report on them. From what I can surmise; it is a mature framework, which has achieved additional buy in because it is backed by Google. With Angular, there are some cool features which may set it apart (again depending on what you are trying to achieve) such as; integrated testing, custom HTML directives and it is also a lot easier to localize, so as to operate in certain areas of the app.

 

Ember

Ember is similar to Angular, in so far as it has strong punching power in its efforts to rival native apps, whilst also minimising the time and code investment needed to develop a web app.

It does appear though, that ember is a little harder to learn than say; Knockout and Backbone, and more time may be needed in order to learn it in the first place.

An interesting side point is that, certain developers may opt for Ember because it is similar to the Cocoa framework, which is very popular in objective c / ios development. This, again, makes it similar to that of developing native apps.

 

 

Developers will debate amongst themselves about the merits of using MVC frameworks and indeed, individual frameworks V’s one and another. I, personally, am certainly not in a knowledgeable enough position to chime in with an opinion on which is best, if such an out and out accolade exists.

 

What I have learned  though, is that each framework brings to the table a set of it’s own, unique advantageous. I do think there is a place for each (and more to come) in web development.

 

As for which, if any, a certain developer should use? Well, it may be up to their Team Lead, Architect, Development Manager etc but… the choice should be made based on  the needs of the project, but also on personal fit / preference of how developers like to work.

 

 

Following on from my last post… Javascript, out and out Javascript developers are very sought after right now.

 

I speak with developers and companies who hire in this area, every day and I’m always keen to understand the technologies with which I deal in.

 

I’ve been reading up…

 

So, when I was in college, I learned basic Jquery. I was designing websites, mostly for fun, during college. Then I started working full time.

 

When I started in recruitment, where a company was hiring a Javascript developer, they may have been looking for some library experience also, i.e. Jquery. But now, companies are looking for the latest and greatest when it comes to Frameworks.

 

Ever since the release of Jquery, in 2006, in terms of client side javascript, a lot of developers are shifting the main functionality of the applications, to the client side, and are then using the server side, mainly to send/receive data. Why? Well, by pushing this on to the client side, it means they can facilitate more powerful and responsive applications. As well, with the proliferation of native apps, and the need for responsive User Interfaces, optimising Javascript correctly is very important. Where developers to continue using just, eg, Jquery, it would be difficult to create web apps, with the feel of a native app.

 

The whole Native V’s Hybrid debate is one which I intent to tackle in a blog coming soon. This is an ongoing one and there are many factors to consider. And although there has been a shift by some high profile companies (e.g. Linkedin, PaddyPower are two high profile companies who have recently moved back to native), a huge amount of companies are benefitting from MVC frameworks in utilising their hybrid approach. I will discuss this in a later post, as I am still studying up on it myself.

 

A lot of the developers I work with, are at the stage where they are experimenting with Various frameworks, trying to decide which they should go with for their upcoming projects. And when it comes to choosing an MVC framework, they are spoilt with choice.

 

My next post, I hope, will help developers who find themselves in this exact situation…

 

Javascript. If you have strong Javascript skills, you are in a strong position right now. I speak with companies every day, from cutting edge start ups, to Multinational companies and let me tell you, they are all crying out for Front End Engineers.

Most in the IT world will know this. But do they know why?

Most software developers, be it; java, .net etc etc, will have some experience with Javascript and possibly library experience; eg JQuery. However, what is most in demand now, is out and out Web Developers, UI Developers or Front End developers.

The surge for Javacsript developers comes because of the innovation within it (with new frameworks coming along all the time etc) but more than that, it is because it is aligned with the proliferation of the web. This is a programming or “scripting” language that fully supports web development. It is really responsive and interactive in creating HTML files, which, of course, are the building blocks of the modern web.

What are the main features, which make it so popular?

  • All the browsers support it
  • It supports functional programming language
  • Can be used as client, as well as server side
  • Support objects and inheritance

Lately, there has been an increased respect and recognition for that rare breed of hybrid UI/UX design/developers. These will be strong advocates for Javascript. Not only is it easy for the browsers to use, it is also beneficial to the end user. So, what are the main benefits?

  • Its quick and responsive – it’s very efficient and because it communicates well with the server, it then means it works quicker for the end user
  • Universal Front End platform
  • Multiple devices – Tablets, e-readers and smart phones (etc, etc) have javascript language. It is particularly beneficial for those devices that have Apps; App stores love javascript.

If you are interested in learning more about Javascript, why not do what I am doing, take some lessons, or at least, do some reading up. See:  http://coursesweb.net/javascript/     for details, of an excellent online resource.

Provided you have not just crawled out from under a rock somewhere, you will know that Web Development is scorching hot right now. It has always been really, but the pace at which innovation is moving is staggering.

I have never been so busy, working with companies of all shapes and sizes, to supply them with strong Front End Developers. I speak with the best front end developers every day, and because of this, I do try to stay up to date with my own knowledge of the latest technologies. I don’t want to miss a beat, but it is hard to keep up. This can be challenging, not least for me, but also for experienced developers. But its an exciting challenge…

I came across an article in Smashing Magazine based around; becoming a better front end engineer in 2013.

In it, it offers a curated list of some excellent front end talks.

Just as time spent by developers in up skilling and learning about new trends, is time well invested, the same goes for me. The more honed my own knowledge is, the more I will understand my clients needs, and my candidates ambitions. A lot of watching there, but I will be listening to one a day, to and from work on the train. Even if most of it goes over my head, its worth exploring.

The Talks include;

                                BASELINE

HAVE A STRATEGY FOR STAYING UP TO DATE

How to Stay Up to Date on Web Stuff, by Chris Coyier

MAKE SURE YOUR BASELINE FOR DEVELOPMENT IS CURRENT

A New Baseline for Front-End Developers, Rebecca Murphey

UNDERSTAND HOW BROWSERS WORK BEHIND THE SCENES

So, You Want to Be a Front-End Engineer, David Mosher (Video)

KNOW WHAT THE WEB PLATFORM NOW HAS TO OFFER

The Web Can Do That!?, Eric Bidelman (Video)

WORKFLOW

FOR WEB APP DEVELOPERS

Tooling for the Modern Web App Developer, Addy Osmani

FOR WEB DESIGNERS

A Modern Web Designer’s Workflow, Chris Coyier (Video)

FOR MOBILE WEB DEVELOPERS

Mobile Web Developers Toolbelt, Pete Le Page (Video)

FOR DEBUGGING

Secrets of the Chrome DevTools, Patrick Dubroy (Video)

                                              THE FUTURE

CSS

The CSS of Tomorrow, Peter Gasston

JAVASCRIPT

The Future of JavaScript, Dave Herman

WEB APPLICATIONS

Web Components and the Future of Web App Development, Eric Bidelman

CSS

STATE OF THE ART

All the New CSS Hawtness, Darcy Clarke

MODULARITY

Your CSS Is a Mess, Jonathan Snook

PRE-PROCESSORS

CSS Pre-Processors, Bermon Painter

DOCUMENTATION

A Better Future With KSS, Kyle Neath

                              JAVASCRIPT

THE IMPORTANCE OF CODE STYLE

Maintainable JavaScript, Nicholas Zakas

A MODERN LARGE-SCALE APP STACK

SoundCloud’s Stack, Nick Fisher

RETHINKING APPLICATION STRUCTURE

Re-Imagining the Browser With AngularJS, Igor Minar

INTERNATIONALIZATION AND I18N

Entschuldigen you, parlez vouz JavaScript, Sebastian Golasch (Video)

PATTERNS AND PRINCIPLES

The Plight of Pinocchio, Brandon Keepers

WHEN TO LAZY LOAD SCRIPTS

How Late Is Later?, Massimiliano Marcon

                                   MOBILE

BUILDING TOUCH-BASED INTERFACES

Creating Responsive HTML5 Touch Interfaces, Stephen Woods (Video | Audio)

THE CHALLENGE WITH SCROLLING

Embracing Touch: Cross-Platform Scrolling, Mark Dalgleish (Video)

NATIVE, HTML5 AND HYBRID APPS

Native, HTML5 and Hybrid Mobile Development, Eran Zinman

PERFORMANCE, DISTRIBUTION AND FACEBOOK ON HTML5

On the Future of Mobile Web Apps, Simon Cross

TOOLS FOR MOBILE DEBUGGING

Mobile Debugging, Remy Sharp

RESPONSIVE DESIGN TECHNIQUES

Responsive Web Design: Clever Tips and Techniques, Vitaly Friedman

                                               WEB APPS

OFFLINE WEB APPS

Offline Rules, Andrew Betts (Video)

STATE OF THE ART

Building Web Apps of the Future: Tomorrow, Today and Yesterday, Paul Kinlan (Audio)

CLIENT-SIDE STORAGE

Storage in the Browser, Andrew Betts

APPLICATION CACHE

Application Cache: Douchebag, Jake Archibald (Video)

                                       Performance

CSS

High-Performance CSS, Paul Irish

GitHub’s CSS Performance, Jon Rohan

AVOIDING JANK

Jank-Free: In Pursuit of Smooth Web Apps, Tom Wiltzius

WEB

Building Faster Websites, Ilya Grigorik

JAVASCRIPT

Breaking the JavaScript Speed Limit With V8, Daniel Clifford

                                                       TESTING

UNDERSTANDING CODE SMELLS

Why Our Code Smells, Brandon Keepers (Video)

CURRENT STATE OF THE ART

JavaScript Testing: The Holy Grail, Adam Hawkins (Video)

IMPROVING THE TESTABILITY OF YOUR CODE

Writing Testable JavaScript, Rebecca Murphey (Audio)