5 ESSENTIAL JAVASCRIPT TOOLS WORTH LEARNING

5 Essential Javascript Tools Worth Learning

javascript has rocketed into prominence as the symbol of new generation web technologies ruling tech world. Web developers rate Javascript as a critical component of HTML5 technologies along with JQuery and CSS. Javascript is ubiquitous and it is impossible to think of a web development arena without Javascript. It has been reported that Javascript is the most used language on GitHub..

As an article published in a web development journal succinctly put it, “Javascript is the number one language in the world. It’s the language of the web and a starting point for so many web developers”. JSON, Ajax, Angular.JS, BackboneJS and Node.js, are the most used Javascript concepts beyond any doubt of dispute.

JSON

JSON stands for Javascript Object Notation and it has become the major technical specification used in the web development arena. As JSON can be used with any programming language, its primary usage is for transmitting data between server and web application. JSON naturally becomes a best choice for web developers to connect to their applications to backend services (developed in Java or PHP or ASP.NET or similar). Mauritius Although JSON is derived from Javascript scripting language, it is a language independent data format. JSON’s basic types are Number, String, Boolean, Array, Object, and Null. It is the primary data format used for asynchronous browser or server communication largely replacing XML.

Ajax

Ajax is the acronym for Asynchronous Java and XML. AJAX helps to update a portion of the webpage without the need to refresh the whole page (for any data updates). It is the prominent technique of single page application. Objective of single page application is to build a website that fits on a single web page to provide a more fluid web experience. Implementation of Single Page Application is done using XMLHttpRequest object from Javascript. Ajax lets developers to write web applications to send and retrieve data from a server asynchronously and they can ensure that it is performed without causing interference to display existing page. AJAX supports various data types such as html,string,json and xml. There have been a number of developments in the technologies used in Ajax application ever since its inception.

Angular.JS

Angular.JS is an open source web development (MVC) framework built by the Internet giant and omnipotent Google. It was introduced for the purpose of simplification of application development and Angular.JS takes care of HTML’s inability to build dynamic views in web applications. With the help of Angular.JS, web development experts can extend HTML dimension for web application. Angular.JS collects data from server and compiles templates locally for presentation through client side MVC framework. Angular JS library works by first reading the HTML page which is embedded into additional custom tag attributes. According to information available from a Javascript analytics service provider, Angular JS is used by many major companies such as Verizon, Apple, Cisco, Etrade, ATT and more. One of the prominent features of AngularJS is two-way data binding which is missing in most of other JS-MVC frameworks.

Backbone.JS

Backbone.JS is an effective Javascript library equipped with JSON interface and it is based on the model view presenter. According to the description given in Backbone.JS website, “Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects all to your existing API over a RESTful JSON interface”. Backbone.JS has gained huge popularity among web developer community because it is a robust and scalable platform for building web applications. Web applications of Digg, Foursquare, LinkedIn Mobile, Pandora Radio, and Pinterest are built with Backbone.JS. As Backbone.JS technology is dependent on one Javascript library, it is known for being light weight. It leads to more code and lean MVC framework for organizing Javascript application. Backbone.JS comes with models, collections, views, events, router, and other great features. In the context of Backbone.js, the model is a place where data is kept and the business logic is distributed between the views and main application’s file.

Node.Js

Node.js acts as the backbone of success of Javascript and it is a platform used for building fast network applications. Being based on Google’s V8 Javascript engine and Chrome browser runtime, Node.js has gained immense fame among web development aficionados. A unique feature of Node.js is that it contains a built-in library that allows applications to act as an independent web server. It is to be recalled that other prominent software platforms used for building network applications depend on Apache HTTP server and IIS. Node.js features an event-driven architecture (Software architecture pattern promoting the production and reaction to events) and non blocking I/O API. Web development projects of upcoming years will be based on the uniform web language of Node.js. Node.js can be run within the run time on OSX, Microsoft Windows, Linux, Free BSD and IBM-I. It has been reported that Node.JS is used by multinational corporations including PayPal, Microsoft, Yahoo as well as Walmart. When Node.js was invented in 2009, neither its developer Ryan Dahl nor others thought that it would become a stupendous hit among web developers.

GO PROGRAMMING ON THE RISE

Go Programming on the Rise
The Next Generation of Communication

Go is an open sourced programming language (notably referred to as “Golang”), that was created by Google Inc. in 2009. Go, like other programming language tools, is used to design a proper framework to communicate operating instructions to your computer. What makes Go stand out from it’s competition is it’s ability to simplify the complexities of writing programs in a very fluid way.

Why Go For Go?

At its core, Go is very user friendly. This lang is concise, expressive, readable and garbage collected, which will come in handy when dealing with concurrent programming. Go programs are fast; you can compile and run a program faster than some interpreters. Typical build times for Go programs are leaps and bounds ahead of it’s competitors due to the dependency management of large programs. Go has a clean dependency model built in the language that streamlines the experience and makes the language much more efficient.

In addition to that, “Golang” is open sourced and pulls resources from a large environment of dedicated contributors and developers within it’s community. Go programming was developed by Google to handle the mass scale of programming at the company. Google has stated that they created Go “out of a sense of frustration with the existing systems for programming”. The existing systems that are most commonly used by developers (C++ & Java) did not possess the fluidity and ease of construction that Google would have liked.

Sameer Ajimani of Google was quoted saying that “programming had become too difficult and the choice of languages was partly to blame. One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language”.

Today, people around the world from novice to professional backgrounds are starting up projects using Go. Go’s mission is to provide a tool that enhances programming language with “simple, easy to build and reliable software”.

If you are asking yourself why switch over to another language and use Go, well here are some points to consider.

  • First, statically typed languages are efficient, but typically bureaucratic and overly complex.
  • Second, dynamic languages can be easy to use, but are error prone, inefficient and break down at scale.
  • Lastly, concurrent programming can be a hassle with complex threads and security locks.

Go manages to solve a lot of these problems that stagnate the creative development process. In addition to that, Go believes in code adaptability to keep up in a fast paced environment.

Why developers turn to Go?

The developers feel that it should be a simple task to take a basic design and build upon it in a seamless and natural way. Go is an opinionated language the developers created, provides a layout that ultimately saves you from all the time you would spend working through the complexities of building program. Go aims to be simple and let the compiler do the heavy lifting, which in turn makes you a more productive programmer.

  • Go development uses the concept of a workspace, which contains the source files (src), compiled binary files (bin) and packages (pkg).
  • Every Go application is made up of packages and, using a Java reference, programs use the main package as the default.
  • Unlike PHP, Ruby, Python etc, Go is a compiled language,which means source code (the code you write) is translated into a language that your computer can understand. Therefore before you can write a Go program, you need the Go compiler installed.
  • It does’t require a resource heavy IDE to be productive, instead you can use regular IDE (like Sublime or similar)

Google’s upcoming language GO is intended to make developers easy to write programs that get the most out of multicore and networked systems. Go Programming is the most appropriate tool of choice for forward thinking projects right from application virtualization to self hosted Git services. As it stands, Go is a more enjoyable, faster and productive tool for writing programming code than any other language available. If you are looking for a way to expedite the process of programming and simplify your tasks, then look no further than Go program.

HOW TO ADD DIRECTIVES THAT TAKES CARE OF ADDING MORE DIRECTIVES TO THE ELEMENT IT WAS CREATED ON?

How to add directives that takes care of adding more directives to the element it was created on? i.e. build a directive that takes care of adding date picker or other elements to the existing element.?

In cases where you have multiple directives on a single DOM element and where the order in which they’re applied matters, you can use the priority property to order their application. Higher numbers run first. The default priority is 0 if you don’t specify one. The key was to remove the attribute: element.removeAttr(“common-things”); and also element.removeAttr(“data-common-things”); (in case users specify data-common-things in the html).

See working solution with html below:
angular.module(‘plunker’)
.directive(‘commonThings’, function ($compile) {
return {
restrict: ‘A’,
replace: false,
terminal: true,
priority: 1000,
compile: function compile(element, attrs) {
element.attr(‘tooltip’, ‘{{dt()}}’);
element.attr(‘tooltip-placement’, ‘bottom’);
element.removeAttr(“common-things”);
return {
pre: function preLink(scope, iElement, iAttrs, controller) { },
post: function postLink(scope, iElement, iAttrs, controller) {
$compile(iElement)(scope);
} }; } }; );

<html ng-app=”plunker”>
<div ng-controller=”DatepickerDemoCtrl”>
<hr/>
<select ng-options=”s for s in selects” ng-model=”el” common-things>
<option value=””></option>
</select>
</div>
</html>

Explanation why we have to set terminal: true and priority: 1000 (a high number):

When the DOM is ready, angular walks the DOM to identify all registered directives and compile the directives one by one based on priority if these directives are on the same element. We set our custom directive’s priority to a high number to ensure that it will be compiled first and with terminal: true, the other directives will be skipped after this directive is compiled.

When our custom directive is compiled, it will modify the element by adding directives and removing itself and use $compile service to compile all the directives (including those that were skipped).

If we don’t set terminal:true and priority: 1000, there is a chance that some directives are compiled before our custom directive. And when our custom directive uses $compile to compile the element => compile again the already compiled directives. This will cause unpredictable behavior especially if the directives compiled before our custom directive have already transformed the DOM.

HOW TO CENTER ABSOLUTE ELEMENT IN DIV ?

How to center absolute element in div i.e I need to place a div (with position:absolute;) element in the center of my window.?

Create the any class mentioned as below and assign it to your div..inner {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}

Here the clue is, that left:50% is relative to the parent while the translate in transform is relative to the elements width/height.

This way you have a perfectly centered element, with a flexible width on both child and parent.This works even if the child is bigger than the parent.

You can also center it vertically with this (Note : width and height of parent and child can be totally flexible(i.e. Unknown)). cheap hotels

HOW TO WRITE CSS MEDIA QUERIES IN IE8?

How to write CSS media queries in IE8?

Internet Explorer versions before IE9 do not support media queries. But we use IE’s conditional commenting to achieve this. Using this, you can specify an IE 8/7/6 specific style sheet which over writes the previous rules.

For example:

<link rel=”stylesheet” type=”text/css” media=”all” href=”style.css”/>
<!–[if lt IE 9]> <link rel=”stylesheet” type=”text/css” media=”all” href=”style-ie.css”/>
<![endif]–>

This won’t allow for a responsive design in IE8, but could be a simpler and more accessible solution than using a JS plugin.

USING CSS, HOW TO MAKE THE BACKGROUND OF AN ELEMENT TRANSPARENT/SEMI-TRANSPARENT BUT HAVE THE CONTENT (TEXT & IMAGES) OF THE ELEMENT OPAQUE?

Using CSS ,how to make the background of an element transparent/semi-transparent but have the content (text & images) of the element opaque?

Give opacity as 0.5 in your background color rgba like background-color:rgba(255,0,0,0.5); based on your color in your style property of the element tag.

Eg.
<p style=”background-color: rgba(255,0,0,0.5);”></p>

Media Announcement

Media Announcement
” Pro-Tek Consulting is excited to announce the expansion of its services to Australia under the name “Pro-Tek Consulting Australia Pty Ltd”. Pro-Tek Consulting has already proven itself in Staffing, Web Design and Application Development services in USA and India. Pro-Tek’s monthly technical magazine “UI Street” is another successful offering to web development community in both the countries which has been receiving much of accolades from the web development community. Same services are planned to be offered in Australia. This Australian company is expected to be fully operational by the end of 2015. “

TOP 5 BEST APP MAKER TOOLS

Top 5 Best App Maker Tools

As the popularity of mobile dependence on applications grows day by day, more and more businesses are realizing the fact that its not just the web they need to have a presence on. They require their own specific applications catering to their customers’ requirements. The challenge however is that building an app isn’t everybody’s cup of tea. The costs involved are more often than not such that can only be afforded by significantly large businesses which leaves the small businesses and start­ups on the bench.

The silver lining to the cloud of expensive app building is that there are now several app making tools out in the market that can be used for building DIY apps. The benefit of resorting to these app building tools is that anybody can create apps of their own without having to learn how to code and other technicalities. This means that small business owners and those who cannot afford hiring a developer to create an app for them can now build apps of their own easily.

Best App Maker Tools

We decided to do a little research and come up with 5 of the best app making tools available. However, the user friendliness and efficiency of these apps could not have been tested adequately if used and scrutinized by the technically proficient. Therefore, we decided to get these apps tested by non-developers, asking them to
create a simple to-do list app using the following app building tools. Based on the reviews given by our testers and those of the online community, we discuss the following app making tools:

1. AppMakr

Primarily used for building native IOS and Android apps, App Makr is a free DIY app building platform that eliminates the need of coding in building apps. Any number of apps with unlimited updates can be built absolutely free. In addition to navigation control, monetization and tab viewing, push notifications, HTML5 functionality, live updates, branding, design customizations and high resolution photo galleries are some of the features.

If you’re building an app for the iphone, App Makr enables users to preview the app by publishing a test app that helps in assessing its look and feel before it can be launched in the app store. The app’s App Quality Index (AQI) which is a set of parameters that informs whether the built app would be rejected by Apple during the app review, is at all times displayed.

Is Appmark Safe

All apps created using the AppMakr are published under the developer’s account and brand, not under AppMakr’s name. AppMakr is a free platform with advertisements. Ad-less service is available too but for a cost of $1 a month which is inclusive of a native android app. A $9 per month plan allows creation of iphone, Android & HTML5 apps along with the ability of submitting the built apps to Apple’s App store and Google’s Play store.

Pros:

  • Any number of apps with unlimited updates can be built absolutely free.
  • Can preview the app by publishing a test app that helps in assessing its look and feel before it can be launched in the app store.
  • Awesome features and highly customizable. Based on the required needs we can have our app look exactly the way we want and can upload icons, headers, artwork, etc.

Cons:

  • We can’t view pages as they are published, instead you can preview by sending the app to yourself on your phone or by email.
  • Apple Publishing can be a little trickier and it takes more effort to build.

2. Bizness Apps

Bizness Apps

This tool is suitable for building apps for businesses spanning across industries. This tool has been designed bearing small businesses in mind. The tool enables users to build Android, iphone, ipad and mobile Webapps in addition to customizing them which is made possible by hundreds of customizable design templates that Bizness Apps offers.

Its features include push notifications, GPS, content sharing, social media, custom Email forms, food ordering, mobile reservations etc. It also enables users to preview their built apps before they are published.

Inter-app integration with other business apps is made possible which can be better understood with the example of importing contacts from the app to email marketing services such as MyEmma, MailChimp etc. In addition to the availability of a White Label Plan, the tool comes at a price of $24 a month for mobile websites and $49 a month for a native and mobile app.

Pros:

  • Makes mobile apps affordable and simple for small businesses.
  • Offers a user-friendly CMS that lets companies design and customize iPhone, iPad, Android and mobile Web apps.
  • Should pay a flat rate for unlimited Android apps and mobile websites.

Cons:

  • Limited options for E-commerce websites and it requires a proper app in place to handle all day to day activities.
  • Brand customization only available in custom pricing with White Label Reseller plan.

3. Canvas Business App

Canvas Business Apps

The Canvas Business App is a drag and drop app builder that aims at streamlining and organizing data collection and converting forms into mobile-ready digital formats. Functions such as workflow automation, confirmation or authorization via signature capturing, product tracking (via GPS) and purchase order calculations can be performed by apps built using the Canvas. In addition to accepting mobile payments, tracking inventory via barcode scanning and maintaining databases, Canvas offers something quite secure Cloud storage for its users. This feature is very enticing for users as it can be very useful in sharing of files and documents between the app users.This tool can be used for building iOS, Android and Windows Apps.

Pros:

  • Canvas Business Apps & Forms works on iOS, Android and Windows devices.
  • Makes apps easy, fast and affordable to create a mobile business application.
  • Integrates with cloud apps to replace paper forms everywhere.

Cons:

  • A 30-day free trial is available at the expiration of which, service can be continued for $13 a month per user.
  • Great with a few bugs – Resizing crashes the app sometimes.

4. Appy Pie

Appy Pie

A drag and drop platform which happens to be the fastest growing DIY app building tool feasible for building apps across all major platforms such as Android, Windows, iOS & Blackberry. Appy Pie enables automatic publishing of apps on their respective app stores including Appy Pie’s own marketplace.

Appy Pie’s functions include Social media and Blog integration, Push notifications, sharing capabilities, photo galleries, restaurant tools such as passbook coupons, Menu builder, OpenTable, GrubHub, GPS tracking for strategic location based marketing and One touch calling, QR code etc.

In addition to the aforementioned features, some features that make Appy Pie stand out from the rest of the tools are app analytics, real time updates and revisions, app monetization and custom coding. HTML5 apps can be designed using this tool for free.Appy Pie offers subscription plans for publishing an app starting at $7 a month for a single app. Every plan includes a free mobile website and all paid plans are inclusive of customer support.

Pros:

  • The interface provided by Appy Pie is user friendly and is easy to use.
  • Has its own market place which gives more visibility to your app.

Cons:

  • Few bugs in the interface, as it has not yet released its stable version.
  • Does not provide support for users to publish their apps on app store such as Google Play Store or Apple App Store.

5. Mobile Roadie

Mobile Rroadie

Used by renowned stalwarts like the NBA, NFL, NBCUniversal, TED, Verizon etc. Mobile Roadie is the most popular do-it-yourself app building tool available to businesses.

Mobile Roadie can be used for building apps laden with features such as geotargeted push notifications, location maps for filter engagement, mobile marketing tools, in-app activity rewards and points, chat options, news updates and a fan wall with threaded posts. In addition to these, features that facilitate photo gallery uploads via Flickr, Instagram, Twitpic, Facebook and video integration from You- Tube, Vimeo, Dailymotion etc. and audio imports from iTunes, SoundCloud etc. are also available. Using Mobile Roadie, Quick Response (QR) codes could be created which when scanned, unlock or link to other content.

Realizing the potential and the growing significance of analytics and data, Mobile Roadie offers businesses advanced analytics feature which reveals important customer activity data. Mobile Roadie’s services can be availed at $1499 per year.

Pros:

  • Offers great mobile marketing features to reach out wide range of audience.
  • Supports anytime content updates, geo-targeted marketing campaigns, user analytics, push notifications and more.

Cons:

  • Slightly expensive when compared to other app maker platforms.
  • Limited E-commerce support and no live chat option available.