UPDATES: Electron added, disadvantage added (#21678)
This commit is contained in:
committed by
Kristofer Koishigawa
parent
426b3ceacd
commit
df435ccebf
@ -9,15 +9,16 @@ Like all computer languages, JavaScript has certain advantages and disadvantages
|
|||||||
* **Speed**. Client-side JavaScript is very fast because it can be run immediately within the client-side browser. Unless outside resources are required, JavaScript is unhindered by network calls to a backend server. It also has no need to be compiled on the client side which gives it certain speed advantages (granted, adding some risk dependent on that quality of the code developed).
|
* **Speed**. Client-side JavaScript is very fast because it can be run immediately within the client-side browser. Unless outside resources are required, JavaScript is unhindered by network calls to a backend server. It also has no need to be compiled on the client side which gives it certain speed advantages (granted, adding some risk dependent on that quality of the code developed).
|
||||||
* **Simplicity**. JavaScript is relatively simple to learn and implement.
|
* **Simplicity**. JavaScript is relatively simple to learn and implement.
|
||||||
* **Popularity**. JavaScript is used everywhere in the web. The resources to learn JavaScript are numerous. StackOverflow and GitHub have many projects that are using Javascript and the language as a whole has gained a lot of traction in the industry in recent years especially.
|
* **Popularity**. JavaScript is used everywhere in the web. The resources to learn JavaScript are numerous. StackOverflow and GitHub have many projects that are using Javascript and the language as a whole has gained a lot of traction in the industry in recent years especially.
|
||||||
* **Interoperability**. JavaScript plays nicely with other languages and can be used in a huge variety of applications. Unlike <a href='https://en.wikipedia.org/wiki/PHP' target='_blank' rel='nofollow'>PHP</a> or <a href='https://en.wikipedia.org/wiki/Server_Side_Includes' target='_blank' rel='nofollow'>SSI</a> scripts, JavaScript can be inserted into any web page regardless of the file extension. JavaScript can also be used inside scripts written in other languages such as Perl and PHP.
|
* **Interoperability**. JavaScript plays nicely with other languages and can be used in a huge variety of applications. Unlike PHP or [SSI](https://en.wikipedia.org/wiki/Server_Side_Includes) scripts, JavaScript can be inserted into any web page regardless of the file extension. JavaScript can also be used inside scripts written in other languages such as Perl and PHP.
|
||||||
* **Server Load**. Being client-side reduces the demand on the website server.
|
* **Server Load**. Being client-side reduces the demand on the website server.
|
||||||
* **Rich interfaces**. Drag and drop components or slider may give a rich interface to your website.
|
* **Rich interfaces**. Drag and drop components or slider may give a rich interface to your website.
|
||||||
* **Extended Functionality**. Third party add-ons like Greasemonkey enable JavaScript developers to write snippets of JavaScript which can execute on desired web pages to extend its functionality.
|
* **Extended Functionality**. Third party add-ons like Greasemonkey enable JavaScript developers to write snippets of JavaScript which can execute on desired web pages to extend its functionality.
|
||||||
* **Frameworks**. If there is anything JavaScript could thank for its wild success, its frameworks. With the rise in demand of the popular <a href='https://en.wikipedia.org/wiki/MEAN_(software_bundle)' target='_blank' rel='nofollow'>MEAN Stack</a>, JavaScript is giving developers a true bang for their buck. In addition to Node and React, both extremely helpful in web development and continually trending, other frameworks such as <a href='https://facebook.github.io/react-native/' target='_blank' rel='nofollow'>React Native</a>, are giving JavaScript developers the ability to create their own hybrid mobile applications. With just one language, developers can, and will, go far with JavaScript.
|
* **Frameworks**. If there is anything JavaScript could thank for its wild success, its frameworks. With the rise in demand of the popular [MEAN Stack](https://en.wikipedia.org/wiki/MEAN_(software_bundle)), JavaScript is giving developers a true bang for their buck. In addition to Node and React, both extremely helpful in web development and continually trending, other frameworks such as [React Native](https://facebook.github.io/react-native/), are giving JavaScript developers the ability to create their own hybrid mobile applications. Also, building desktop applications with JavaScript is possible by using the [Electron Framework](https://electronjs.org). With just one language, developers can, and will, go far with JavaScript.
|
||||||
* **Versatility**. Nowadays, there are many ways to use JavaScript through <a href='https://nodejs.org/en/' target='_blank' rel='nofollow'>Node.js</a> servers. If you were to bootstrap node.js with Express, use a document database like <a href='https://www.mongodb.com/' target='_blank' rel='nofollow'>MongoDB</a>, and use JavaScript on the front-end for clients, it is possible to develop an entire JavaScript app from front to back using only JavaScript.
|
* **Versatility**. Nowadays, there are many ways to use JavaScript through [Node.js](https://nodejs.org/en/) servers. If you were to bootstrap node.js with Express, use a document database like [MongoDB](https://www.mongodb.com/), and use JavaScript on the front-end for clients, it is possible to develop an entire JavaScript app from front to back using only JavaScript.
|
||||||
* **Updates**. Since the advent of EcmaScript 5 (the scripting specification that Javascript relies on), Ecma International has dedicated to updating JavaScript annually. So far, we have received browser support for ES6 in 2017 and look forward to ES7 being supported in future months.
|
* **Updates**. Since the advent of EcmaScript 5 (the scripting specification that Javascript relies on), Ecma International has dedicated to updating JavaScript annually. So far, we have received browser support for ES6 in 2017 and look forward to ES7 being supported in future months.
|
||||||
|
|
||||||
## Disadvantages of JavaScript
|
## Disadvantages of JavaScript
|
||||||
|
|
||||||
* **Client-Side Security**. Because the code executes on the users' computer, in some cases it can be exploited for malicious purposes. This is one reason some people choose to disable Javascript.
|
* **Client-Side Security**. Because the code executes on the users' computer, in some cases it can be exploited for malicious purposes. This is one reason some people choose to disable Javascript.
|
||||||
* **Browser Support**. JavaScript is sometimes interpreted differently by different browsers. Whereas server-side scripts will always produce the same output, client-side scripts can be a little unpredictable. Don't be overly concerned by this though - as long as you test your script in all the major browsers you should be safe. Also, there are services out there that will allow you to test your code automatically on check in of an update to make sure all browsers support your code.
|
* **Browser Support**. JavaScript is sometimes interpreted differently by different browsers. Whereas server-side scripts will always produce the same output, client-side scripts can be a little unpredictable. Don't be overly concerned by this though - as long as you test your script in all the major browsers you should be safe. Also, there are services out there that will allow you to test your code automatically on check in of an update to make sure all browsers support your code.
|
||||||
|
* **Browser Optionality**. Most browsers come with features to disable JavaScript, and your website or application may not work properly if it is disabled.
|
||||||
|
Reference in New Issue
Block a user