Along with HTML and CSS, JavaScript is one of the core technologies of the web. The majority of websites use it, and all modern web browsers support it without the need for plugins. It's got a huge community, and the ecosystem is evolving rapidly. If you want to be a web developer, learn JavaScript. And if you want to learn JavaScript, you're in the right place!
We've built a comprehensive guide to help you learn JavaScript development online, whether you're just getting started as a web developer or you want to explore more advanced topics such as using the newest frameworks or building your own! This Learning Guide will help you:
- Learn the fundamentals of the JavaScript language.
- Get started coding for the web with jQuery.
- Build websites and apps using front-end frameworks such as Angular 2 and React.
- Learn Node.js, and write JavaScript for the server.
- Develop cross-platform mobile apps with Ionic and React Native.
- Go further with JavaScript and keep your skills sharp.
1. What Is JavaScript?
You've likely heard JavaScript referred to as "a client-side language", which is another way of saying that it's a programming language that runs in a web browser. Actually, it's the language that runs in the browser—if you want to make an interactive web page, JavaScript is the language to use.
Wikipedia defines it this way:
JavaScript is a high-level, dynamic, untyped, and interpreted programming language. It has been standardized in the ECMAScript language specification.
- High-Level. When a programming language is high-level, you can code it without needing to know details about the host computer. You don't have to manage memory, you don't have to know what type of processor is running, and you don't have to deal with things like pointers (such as in languages like C or Assembly).
- Dynamic. Languages that are dynamic allow developers to add new code or change the structure of objects while the program is running. This is a powerful feature of JavaScript, and it makes possible frameworks that can adapt the language to very different contexts and ways of working.
- Untyped. If you have any programming experience, then you've likely come across statically typed languages that require you to declare the type of variables. In contrast, untyped languages are much more flexible about how types are used and defined. For example, in JavaScript you could pass either a string or a number to the same function, or you could have an array that stores data of mixed types.
- Interpreted. In compiled languages, the code you write must be converted to a machine-readable form before it can be run. But JavaScript is interpreted (just like PHP), meaning that there is no compiler. Instead, the code is run by an intermediary piece of software called an interpreter (in this case, it is part of the web browser). The interpreter reads your code and converts it to machine instructions. Most high-level languages are interpreted, and most interpreted languages are high-level.
- Standardized. JavaScript is standardized (its official name being ECMAScript) which means that it will work the same in any browser. This wasn't always the case; in the early years of JavaScript it used to work a bit differently from browser to browser.
If you want to learn more about the structure of the language and how it's used, check out our tutorial.
2. JavaScript Fundamentals
If you're learning JavaScript for the first time then you'll want a course that starts at the very beginning and covers everything about the language that a beginner needs to know. Whether you're completely new to coding, or you're coming to JavaScript from another language, our JavaScript Fundamentals course goes through everything you need to get up and running with one of the most popular and dynamic languages in use today.
You can build on the fundamentals of JavaScript with our course on ES6 (more properly known as ECMAScript 2015 or ES2015), which represents the biggest change to JavaScript in the last 20 years. Sharpen and update your JavaScript skills by learning some of the major additions that ES6 brings to the language.
If you're a web designer who's just getting started with JavaScript then you should check out JavaScript for Web Designers to learn the basics of JavaScript from a web designer’s perspective.
If you want to learn more about the structure of JavaScript and how it works, check out our tutorials.
JavaWhat's the Difference Between Java and JavaScript?Tom McFarlin
JavaScriptGrokking Scope in JavaScriptPeleke Sengstacke
Learn jQuery
First released in 2006 by John Resig, jQuery set out to be a cross-platform JavaScript library that makes it easier to write code for the browser.
At the time it was released, it was especially useful because of the inconsistencies that existed among JavaScript implementations in older versions of Internet Explorer, Firefox, and eventually Google Chrome (which wasn't released until 2008).
As described by the jQuery website:
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.
Learn more about jQuery and how it's used in our tutorial.
jQuery has been a part of the JavaScript ecosystem for a long time and has been used in a number of very popular projects (such as WordPress), so learning it is a great way to get started programming for the web. In these courses, you'll learn everything you need to know to get started using jQuery in your projects.
3. Front-End Frameworks
While the number of ways to organise a JavaScript project are almost infinite, JavaScript frameworks can help you give structure to your code and make it more flexible and scalable. There are a number of popular JavaScript frameworks you can choose to use, but deciding between them can be difficult.
Our course Comparing Front-End Frameworks can help you make an informed choice. Experiment with each framework, get a feel for how it works, and decide which one is best suited for your project needs or style of programming.
You can also find out which front-end framework you should learn by taking our quiz!
Get Started in the Front-End
We have courses and tutorials to help you learn and develop your skills with all of the major front-end JavaScript frameworks. If you're interested in learning more about AngularJS, Angular 2, or React we have full Learning Guides dedicated to them.
Angular 2Modern Web Apps With Angular 2Andrew Burgess
ReactModern Web Apps With React and ReduxAndrew Burgess
EmberJSBuild an Ambitious App With Ember 2Andrew Burgess
AngularBuilding a Web App From Scratch With AngularJSAndrew Burgess
MeteorGet Started With MeteorAndrew Burgess
JavaScriptA First Look at the Aurelia Front-End FrameworkJeremy McPeak
Vue.jsGet Started With VueLawrence Turton
4. Back-End Frameworks
Node.js
Node.js is an open-source, cross-platform JavaScript runtime environment that takes JavaScript out of the browser. One of the reasons Node.js is so popular is that it allows you to write web servers and other programs in JavaScript.
As you'll see, it's similar to JavaScript in the browser; however, it isn't all the same. For example, with Node.js, you can read and write files on the hard drive from JavaScript! There are many new patterns and features that you'll learn in our course: Node.js From Scratch.
More Back-End Resources
Express is the most popular back-end framework for Node.js and JavaScript. Express makes it easy to create a web server with pure JavaScript, allowing you to write full-stack JavaScript apps—apps that use the same language on the front- and back-ends.
WebSockets are another great full-stack tool. They enable fast asynchronous communication between the browser and server.
ExpressGetting Started with ExpressAndrew Burgess
JavaScriptConnect the Web With WebSocketsDaniel Stern
5. Front-End Libraries
JavaScript libraries provide helper functions, objects, and modules which your application code calls for specific functionality. Learn how to use some of the most popular front-end libraries in these courses.
JavaScriptBuilding D3 Data VisualizationsTiffany France
JavaScriptHow to Use the Google Drive APIReginald Dawson
Google MapsCustom Interactive Maps With the Google Maps APIDavid East
JavaScriptHow to Use the Google Maps APIReginald Dawson
Google APIsHow to Use the Google Calendar APIReginald Dawson
6. Cross-Platform Mobile
Cross-platform mobile development has the advantage of letting you creating mobile apps that feature a polished user experience similar to a native app, while allowing you to share the same code across multiple platforms.
The most popular cross-platform frameworks tend to be those built on successful front-end frameworks such as Angular and React. Make your mobile development more efficient and learn cross-platform mobile development with our courses.
Ionic 2
The Ionic framework is one of the most popular projects on GitHub. By letting web developers use their existing skills to make apps for mobile devices, Ionic has enabled a whole generation of apps. One of the reasons for Ionic's success is that it builds on the popular Angular web framework.
IonicGet Started With Ionic 2Reginald Dawson
Mobile AppMobile Apps With Ionic and FirebaseReginald Dawson
You can also check out our series of Coffee Break Courses on Ionic.
React Native
Created by Facebook, React Native tries to bridge the gap between a native application and a web-based mobile application. It does this by letting you write your user interface in modern JavaScript and automatically transforming it into native views specific to your supported platforms. We have several courses to get you started with React Native.
React NativeGet Started With React NativeMarkus Mühlberger
React NativeBuild a Social App With React NativeMarkus Mühlberger
Cordova
The Cordova platform is a cross-platform framework for building apps. Instead of building an app with native languages like Java or Objective-C, you can build it with familiar web technologies and bundle it in a native container for your target platform. Cordova allows you to build apps for Android and iOS, as well as Amazon Fire, BlackBerry, Firefox, and Ubuntu.
Despite using web technologies, Cordova has robust support for using the features and facilities of a mobile environment. Learn Cordova in this course by building a simple app.
Cross-Platform MobileBuilding an App With CordovaReginald Dawson
CordovaPublish an App With CordovaReginald Dawson
7. Go Further With JS
Want to go further with JavaScript? We regularly publish new JavaScript tutorials, here are some to get you started.
JavaScriptHow to Use Map, Filter, & Reduce in JavaScriptPeleke Sengstacke
JavaScriptSimple JavaScript Inheritance: What You Need to KnowDavid Catuhe
JavaScriptJavaScript: How to Embed Private Members Into an ObjectDavid Catuhe
JavaScriptKeeping Promises With JavaScriptStuart Memo
JavaScriptJavaScript Debugging Using Cross-Browser Source MapsDavid Rousset
There's always more to learn, so why not check out our Learning Guide on Data Structures in JavaScript or some of our more advanced courses?
JavaScriptJavaScript Refactoring TechniquesPavan Podila
JavaScriptCreate a New JavaScript FrameworkJason Green
JavaScriptDeep Dive Into Reactive Programming With RxJSAndrew Burgess
ReactReact Deep Dive: Build a React App With WebpackPavan Podila
JavaScriptFix JavaScript Code Style With StandardJSDan Wellman
APIsRethinking APIs With FalcorDerek Jensen
JavaScriptJavaScript Without jQueryJeremy McPeak
JavaScriptAsynchronous ES6 With GeneratorsReginald Dawson
Build ToolsEssential Gulp TasksDan Wellman
Functional ProgrammingFunctional Programming in JavaScriptJason Rhodes
JavaScriptModern JavaScript Linting With ESLintDan Wellman
WebpackInstant Webpack 2Dan Wellman
8. Learn JavaScript
This Learning Guide will continue to be updated with all the latest and greatest JavaScript tutorials and courses to help you stay at the very top of your game!
To keep up with all the JavaScript content we publish, remember to sign up to our weekly digests to get a comprehensive summary of all our new code tutorials each week, follow @TutsPlusCode on Twitter, and like the Envato Tuts+ Code page on Facebook.


















