martedì 24 febbraio 2015

The next language to dig into after learned Html/CSS

Given a demonstrable interest in Web UI Development using HTML, and CSS I agree that JavaScript is the next sensible step, and probably one that you came to already. I would focus on jQuery quite a bit, because it is so heavily utilized, and also quite useful, as you will soon find out. However, I would not approach learning JavaScript as learning jQuery. jQuery is a JavaScript library with a lot of great features for DOM manipulation, AJAX requests, etc, but I am a firm believer in understand what libraries are doing for us. So, get into raw JavaScript before really looking at jQuery. Some important concepts to tackle in JavaScript are:

  • Objects and their Prototypes
  • Functions and Constructor Functions
  • Understanding Functions as Objects
  • Inheritence (OOP)
  • Applicative Functional Programming
  • Asynchronous Processing / Flow
Then of course getting into how to really use it in the browser dealing with the DOM, AJAX. I would really look at the DOM API, and the XMLHttpRequest object. Before I would deal with learning server side programming like PHP, or whatever, I would look into using third party REST API's that you can use directly from client-side JavaScript applications to learn how to request data in the background, and update data in the DOM without refreshing the page. It's a basic Single Page Application type feature that you'll need to know how to do every day for the rest of your life if you become a Web Developer.
Once you have a grasp on what kind of heavy lifting might be necessary for all of this pretty basic work then I would look into making your life easier with libraries like jQuery, because then you'll understand what they do for you, and why you need them. jQuery isn't the only thing I would look into either. There are other more advanced concepts like MV* frameworks, and the like. Here is a non exhaustive list of some libraries that I have used heavily, and seem to be in great demand, (as well as being pretty cool IMO) are:
  • RequireJS (Modular development / Asynchronous Module Definition (AMD))
  • Backbone (MV*)
  • Angular (MVC; This one is really picking up in demand lately it seems.)
  • Underscore/Lodash (Functional utilities/templating) (Lodash is a superset of Underscore)
  • Handlebars (Templating)
  • Knockout
  • Ember
  • jQuery UI (Widgets)
  • jQuery Mobile
  • Sencha Touch
  • ExtJS
  • Dojo
There are honestly so many with various benefits, and weaknesses but that's a great place to start. I frequently leverage, Require, Backbone, jQuery, and Underscore, with Handlebars, and can accomplish quite a bit with those.
I think understanding server side development to be crucial too, but they are different domains with different expertise. For my money, Application Servers are for Services, and the Client Side is for UI. They play different roles in an overall Web Application. What to look into on ther Server Side is a different question, and topic all together.

Categories: ,

Copyright © Niente Canzoni d'Amore | Powered by Blogger

Design by Anders Noren | Blogger Theme by |        Up ↑