Friday 24 March 2017

JavaScript vs TypeScript

JavaScript
JavaScript, since its first appearance in 1995, built its reputation as an ideal scripting language for web pages. Over the years it has gained rave reviews for visual representations too. Great supportive frameworks like AngularJS, ReactJS, Ember.js etc. have provided JavaScript with much-needed flexibility. The language’s increasing popularity in the last few years is powered with a helpful community monitoring its efficient use.

JavaScript is comparatively more flexible in development time. It allows time in validating that a certain object can be used in a particular way. Here’s another benefit, for example, consider a before-after scenario and a single website page with a header, footer, text box, images and a sidebar. Earlier, the entire page needed to be uploaded to make any changes. But now, if sidebar elements need reworking, developers do it without overhauling the entire set up. Today's UI/UX design, drop down boxes, search boxes can be intricately and competently set up with CSS and JavaScript.

TypeScript
TypeScript is a free and open source programming language developed and maintained by Microsoft. Since 2012, TypeScript is a superset of JavaScript which primarily provides optional static typing, classes and interfaces. An existing JavaScript program can also be a TypeScript program. One of the big benefits is to enable IDEs to provide a richer environment for spotting common errors as you type the code. Experts like Anders Hejlsberg have mentioned how Typescript is about scaling JavaScript for making it easier to build medium to large applications.

TypeScript brings in a whole lot in extending JavaScript capabilities with static typing. Developers can make use of static typing, whenever the need arises. Static typing's purpose is to eradicate the development errors, much before code execution. Imposed restrictions on interacting with objects, forces developers to clearly specify things. A type has to be clearly defined, apart from other parameters that make up the method. As a result, tooling enables the developer to detect the error much before the application is run.

JavaScript vs TypeScript

1. The ECMAScript - ECMAScript is the standardized specification for the JavaScript language. It’s sometimes referred as ECMAScript Harmony or ES.next. At the time of this writing, JavaScript is currently at ECMAScript 5. A few browsers implement some of the ES6 specification, but adoption is increasing daily. TypeScript edges ahead in its ability on allowing developers use a major part of the latest version of ECMAScript features. The language thus makes up for the resource gap developers always had.

2. Error detection - TypeScript doesn't take away JavaScript's dynamic capabilities, it just allows developers to make effective use of the static typing approach. Static typing sends out the error signals early. It helps developers in discovering which objects work and don’t work. Tooling enables developers to spot their errors and correct them a good deal before the application is run, a total contrast to JavaScript’s real-time trail and error approach.

3. Large App Capabilities - JavaScript wasn't meant for large applications or say, thousand-odd lines of code. Today we have code lines running to millions and beyond. This is where TypeScript budged in with its large app capabilities.

4. A Faster JavaScript - JavaScript framework wasn’t written in TypeScript. You can simply write down the Type definitions for it. The integrated development environment (IDE) then validates it for you. Making changes in the browser and reloading is also faster in TypeScript, with a set of tools. TypeScript is in many ways, JavaScript in fast forward mode.

5. Safer Refactoring - Refactoring in TypeScript is ‘safer’, as we are armed with a semantic knowledge of the code. This was not possible in JavaScript. In fact, more the lines of code you write in JavaScript, the more fragile it becomes.

6. Code Prompting in TypeScript - TypeScript is evolving as a language service for JavaScript. Using a TypeScript declaration file, for example, for procuring information and getting code prompts on functions,arrays, methods, etc is one of its uses. TypeScript can thus eventually serve as a consistent help center and instant code correction module for a JavaScript file.

When you should use TypeScript instate of JavaScript?
  • When you have a large codebase
  • When your team’s developers are already accustom to statically-typed languages
  • When a libraries or framework recommends TypeScript
  • When you really feel the need for speed in development process