First of all, unfortunately, "PHP is the best language", but it is not the most popular language.
At the same time, sorry for the languages that were just listed on the TIOBE programming language list in April:
You are all great, but neither of you can handle this big task.
Before starting, let me talk about the three languages I commonly use: Java, JavaScript, Python.
-
Java, let me learn a lot of knowledge about the architecture level, which can refer to the architecture-related documents I wrote before. I don't like the language at all, but it's really cool.
-
Python, it's really simple enough that I like to use it to learn all kinds of theoretical knowledge, such as recommender systems, Bayes' theorem, natural language processing, etc.
-
JavaScript, see below.
data visualization
In some of the books I've read in the past, Processing is mainly used as a visual language - it started in 2001, it was originally created for artists and designers, and it became a comprehensive design and prototyping tool, Can be used to create complex data visualization fields.
Processing was brought into the Web domain, resulting in Processing.js, and D3.js.
Of course there are tools from Plotly, Leaflet, Sigma JS, etc.
Mobile App: Cordova
Then came PhoneGap (Cordova today), which brought WebView to mobile applications and JavaScript to mobile applications.
Using Cordova allows us to develop multi-platform releases at once. We also mention Ionic, the leader in hybrid applications:
Mobile app: React Native
Now that we've mentioned Cordova, we should also talk about React Native. Also run multiple times for one development:
Although it has many pits, it is still worth looking forward to.
Mobile platform: DeviceOne
Now that we've mentioned React Nativie, we should also talk about DeviceOne. Also run multiple times for one development:
Currently the only one that uses javascript to achieve native cross-platform (android, ios, windows).
Server: Node.js
It is the performance of V8 that brings JavaScript to a new height, so Node.js was born - JavaScript can be used in the front-end and back-end, a full-stack era of JavaScript.
Mongodb as the database, Express as the server-side MVC, they can provide a RESTful service, then add Angular.js of the MVVM framework, and you know what I'm talking about!
Desktop application: NW.js and Electron
NW.js runs on Chromium and Node.js, which allow us to make desktop applications in HTML and JavaScript. In addition to NW.js, there are also recently popular Electron, Atom editor's
Unlike Cordova's multi-platform build multi-version, Electron can build applications for multiple platforms on one platform. That is, we can package Linux and Windows applications on Mac OS without recompiling on Windows.
It is brought to the desktop, so that the desktop and the web are consistent. The most successful example is Slack, which is valued at $3 billion:
So, if you're using Slack on the desktop, you're going to be stuck.
Full platform application
I once wrote an article " One Code to Build Mobile, Desktop, and Web All-Platform Applications ". Running Ionic on Eletcron means unlimited possibilities.
Anything that can be developed with the Web can be done with the Web.
game
From the moment WebGL was brought into the browser, it was decided that this was a new world.
Let's forget about compiling, launching updates, plugins, etc., and we can also run it directly in one development.
VR
If you have seen the previous article " The Application of JavaScript in the VR World ", then you will have more impressions of this content.
The main idea is to render the VR perspective through WebView:
And various browser manufacturers are promoting WebVR to provide support for virtual reality device display.
WITH
While most AR applications may be a bit far from us, the closest one is Leap Motion — which uses palm and finger movements for input without hand contact or touch.
In the same way as VR, read the data of the sensor, and then hand over the gesture to the browser for processing. For details, please refer to what I wrote before: " Basics of Leap Motion JavaScript Development Gesture Control "
hardware
Earlier I saw that Arduino encapsulates the API in a DSL at compile time. The NodeMCU has built-in support for the Lua language, allowing starters to use Lua to start. Tessel natively provides a JavaScript runtime environment, and we need to write JavaScript to run on it.
Tessel 2 is a relatively high-profile hardware, but what about low-profile ones?
Samsung designed the JerryScript engine, which can run on less than 64KB of memory, and the entire code can be stored on less than 200KB of read-only memory (ROM).
When you think about it, the future is bright.
Internet of Things
Wait, what Samsung launched above is IoT.js, which means that it can already be used in the field of Internet of Things. Why is there still an application here? I just wanted to mention this a little bit:
The above is just the application of Node.js in the Web, and the big difference between the Internet of Things and the Web is that the Internet of Things can use a variety of different protocols, and these protocols all require the support of Node.js.
Therefore, if we need to start the web version and mobile application, then we naturally need it as the background.
operating system interface
Although better machines bring better performance, it is clear that people's demand for native applications is not as strong. Firefox OS has already lost ground to mobile operating systems, but this operation has been brought to the realm of IoT:
This means that we can use JavaScript to develop the interface of the operating system.
What else do you think JavaScript can do?
Source: WeChat public platform: phodal Author @phodal