like node.js, atom-shell have the difference of browser-side vs. client-side, but it's explanation is very unclear(https://github.com/atom/atom-shell/blob/master/docs/api/synopsis.md). How to understand this ?
1 Answer
A regular Node.js application has the concept of "server-side" code and "client-side" code. There is code that you write that is to be executed using Node.js on your server. This could be an express app, or even it could be a basic API that simply serves JSON. The counter-part to this is "client-side" code which is embedded and run on the web page after it is loaded up by the client (usually a web browser). This may be to make the website more dynamic through AJAX requests, or jQuery to provide animations, and so on.
atom-shell basically embeds Chromium into an app and allows you to program it. The concept of "client-side" code remains exactly the same as above: it is code executed on the web page. However, the concept of "browser-side" comes from the fact that Chromium is a browser. This distinction is made atom-shell apps are desktop apps; there is no "server" to communicate with. You are not communicating with any remote entity to access or request data, since the files needed are all bundled locally already. Because of that, it wouldn't really make sense to call it "server-side" code.
Hope this helps.