Nex:Gen Designs

Nex:Gen Designs

Thursday, 30 July 2015

Web technology fundamentals

Web technologies are in a constant state of flux. It’s impossible to predict which will fail, which will shine brightly then quickly fade away, and which have real longevity. Rapid innovation is what makes web app development so exciting, but shiny new things shouldn’t be pursued without a solid understanding of the underlying web platform.


Web architecture primer

Let’s start with DNS (domain name system) and HTTP (hypertext transfer protocol). These are the underlying systems that web browsers use to send and fetch data to and from web apps. Familiarity with these protocols is essential for later discussions on application programming interfaces (APIs), performance and security.

DNS

When you type an address into a web browser or follow a link, the browser first has to identify which computer server in the world to ask for the content. Although web addresses use domain names like fivesimplesteps.com to make them easier for people to remember them, computers use unique numbers to identify each other1.
To convert names to numbers, the browser queries a series of DNS servers, which are distributed directories of names and numbers for all web servers. To speed up this process, the lookups are cached at a number of locations: your internet service provider (ISP) will hold a cache, your operating system may hold a cache and even your web browser software will hold a short lifetime cache.

HTTP requests

Once your browser has identified the correct number associated with the domain name, it connects to the server with the equivalent of, “Hello, can I ask you something?” The connection is agreed and your browser sends a message to request the content. As a single web server can host thousands of websites, the message has to be specific about the content that it is looking for.
Your browser will add supplementary information to the request message, much of which is designed to improve the speed and format of the returned content. For example, it might include data about the browser’s compression capabilities and your preferred language.

HTTP responses

The response from the server to the browser also contains an HTTP message, prefixed to the requested content.
 HTTP/1.1 200 OK
Date: Sun, 20 Feb 2011 03:49:19 GMT
Server: Apache
Set-Cookie: BBC-UID=d4fd96e01cf7083; expires=Mon, 20-Feb-12 07:49:32 GMT;
path=/;domain=bbc.co.uk;
Cache-Control: max-age=0
Expires: Sun, 20 Feb 2011 03:49:19 GMT
Keep-Alive: timeout=10, max=796
Transfer-Encoding: chunked
Content-Type: text/html
Connection: keep-alive

125
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"

The opening status line contains the HTTP version number, a numeric response code and a textual description of the response code. The web browser is designed to recognise the numeric response code and proceed accordingly.
Common response codes include:
  • 200: OK
    Successful request
  • 301: Moved Permanently
    The requested content has been moved permanently to a new given location. This and all future requests should be redirected to the new address.
  • 302: Found
    The requested content has been moved temporarily to a given address. Future requests should use the original location.
  • 404: Not Found
    The server cannot find the resource at the requested location.
  • 500: Internal Server Error
    A generic error message, shown when an unexpected condition prevents the request from being fulfilled.

Statelessness and cookies

HTTP is stateless. This means that multiple requests from the browser to the server are independent of one another, and the server has no memory of requests from one to the next. But most web apps need to track state to allow users to remain logged in across requests and to personalise pages across sessions.
HTTP cookies are the most common solution to this problem. A cookie is a small text file that the browser stores on your computer. It contains a name and a value associated with a specific website. Cookies can be temporary or can persist for years.

 Content type

Your browser now has the content it requested, thanks to the HTTP response from the server. Before the content can be processed and displayed though, the browser needs to determine what type of content it is: an image, PDF file, webpage, or something else.
One way a browser can achieve this is through content sniffing. The browser examines the first few bytes (and sometimes more) of the content to see if it recognises a pattern in the data, such as a PDF or JPG header. Apart from the accuracy and performance issues that this may introduce, it can also have security implications.

Summary

Knowledge of the underlying web technologies enables you to develop workarounds for web browser restrictions and optimise performance and security.
  • DNS converts domain names to computer-usable identification numbers.
  • HTTP messages govern the requests and responses between web browsers and web servers.
  • HTTP is stateless, but cookies can be used to remember a computer from one request to another.
  • Content-type HTTP header fields tell the browser what type of content is being sent.
  • Character encoding headers tell the browser how to understand text files.
  • UTF-8 is the most practical character encoding for the web.
  • Web browsers convert HTML into a document object model (DOM) tree in memory.
  • A second render tree is created in browser memory from the DOM, to represent the visual page layout.
  • Use a DOCTYPE to tell the browser which layout mode to use.
  • JavaScript can modify the DOM, and Ajax techniques can request additional data from the server and make partial updates to the DOM.

5 fundamentals every web designer needs to understand

We all know intuitively what makes a website look bad: overused bevel effects, corny clip art, overcrowded layouts. These annoyances are easily corrected by developing with design fundamentals in mind—the same principles used by professional designers and artists alike.
Great websites bring together form and function. In fact, well-designed websites are seen as more credible, according to a Stanford study and are actually easier to use (as studied by researcher Don Norman). So here are five fundamentals to help you keep quality design at the forefront of your practice.

1) Follow the rules…mostly

In design school, they’ll give you a list of principles to abide by that assign rules to beauty—elements like layout, order and symmetry. But as you advance, you’re then told to break the rules a bit to create places for a viewer’s eyes to look by employing elements like variety, tension or contrast.


2) Use imagery and icons to communicate when possible

There are some universal icons that people are trained to respond to. The magnifying glass (search), the house (home page) and floppy disk (save) are ingrained into your users already. Take advantage of those visual shortcuts; all those road signs should be immediately recognizable to you.

3) Color as a design element, not as decoration

Color makes all the difference, especially as our screens get better on our phones and tablets. It’s a facet of design that can be a really key part of the story your website wants to tell. Just use color to support content, not decorate a page. And often if you’re using a photo, the colors in the design should be sampled from the photos used so your design has a nice unified feel.
 One of the best rules to go with is to use complimentary colors. Which is basically using warm colors and cool colors together to provide balance.

4) Choose fonts that support content

There are literally thousands of fonts to choose from.
It’s up to you to mix and match – but remember that it’s best practice to use only up to three fonts at a time—a nice headline font, one for the main body of text, then one for any sort of call-out you might need. Often, that means using a sans-serif for the body copy, and for headlines you can get more interesting with either serif or sans-serif.

5) Help from others

All right, you’ve got your basic design elements, with pretty icons and pictures, with a sound color scheme and fun fonts. What’s next?
Getting help from others, of course! And not just random people on the street, but constructive critique from people who really know their stuff, like other designers/developers. This can be instrumental to go from an OK website to one that really pops. If you’ve never used Behance to post a work-in-progess, I recommend giving it a try. The active community will do more than just tell you “to make the logo bigger” – but give you advice that can make the difference between a good website and a great one.

Tuesday, 28 July 2015

10 Front-end developer tools you can’t live without.

When you think about it, the phrase ‘modern front-end development’ is a relatively new thing! When compared to competing platforms and industries, the web is still in its infancy stage. That being said, one only needs to read a development-specific Twitter feed, or say hello on a few applicable IRC channels to realise just how quickly our techniques and processes are advancing into a modern age of front-end development.

EDITORS

1. Sublime Text 3

2.LightTable

3.WebStorm

4. Vim

5.Brackets

JAVASCRIPT FRAMEWORKS

1.AngularJS

2.Backbone

3.Ember.js

4.Knockout.js

5.Meteor

Important qualities to become a Professional Front-End Developer

Front End Development, is the practice of producing HTMLCSS and Javascript for a website or web application so that a user can see and interact with them directly. The challenges associated with front end developers is that the tools and techniques used to create the front end of a website change constantly and so the developer needs to constantly be aware of how the field is developing.

    Qualities


    • Vision
    • A visual aesthetic that matches my brand
    • Industry trend awareness and balance
    • A beautiful portfolio
    • Up-to-date knowledge
    • A specialization in your platform
    • Great communication
    • Strong awareness of developments in technology
    • The ability to adapt
    • Creative technical proficiency
    • Critical thinking style
    • Self-direction
    • Patience

    Monday, 27 July 2015

    Frontend web designer/developer

    Skills Required to Become a Front End Web Developer

    The basic skills needed for this role are knowledge of a markup language, web browsers, styling and scripting language. Here are some specific basic skills.


    • 1. Knowledge of one Markup Language: HTML – This includes knowledge of HTML syntax and tags (including HTML5).                                                                                                                                
    • 2Knowledge of a Styling Language: CSS – This includes basic knowledge of Cascading Style Sheets(including CSS 2 and CSS 3)                                                                                                                  
    • 3. Knowledge of a Client Side Scripting Language, primarily JavaScript (and jQuery) – This includes good skills on working with Javascript and the jQuery library.

             Additional Skills:



        • Knowledge of cross browser testing and debugging.
        • Knowledge of performance optimization using tools such as PageSpeed.
        • Knowledge of Photoshop and a CMS like WordPress.
        • Knowledge of object oriented programming (OOP) and PHP.
        • Knowledge of SEO (Search Engine Optimization).
        • Knowledge of animation tools like Flash and Dreamviewer.