@johadi
Software Engineer
Passionate programmer with BSc. in Computer Science. Love anything that has to do with JavaScript.
Solving practical and societal problems
No blogs yet.
Thanks Terence Eden I have thought of this though. I'm also aware is possible building it with major tools like NodeJS, AWS and React. I'm just looking for guidance or possible tutorials that can give me some hints on how to go about it.
A company as big as google will definitely use bunch of private tools for development. I doubt anyone can tell you per se. since Gmail is not an open-source project, only a google developer can answer you best, that is if he is in a position to do so.
NodeJS mirrors how JavaScript runs on the browser using a specific JavaScript engine (Chrome V8 engine). On top of that, it adds some features that makes it run on the server. If you really want to know how NodeJS works, start from understanding how JavaScript runs on the browser. In other words, How the browser uses the JavaScript engine (i.e V8 Engine which NodeJS is built on top of), Event Loop, Event Queue and Job Queue to execute JavaScript codes. This will just give you the high-level overview of how JavaScript works, but it will aid you a lot in understanding how NodeJS works. There are tons of blogs, articles, and videos out there in google that discuss this. You just have to use the right word, i.e "How does javascript work in the browser with event queue and V8 engine" and you would have your answers. Hope this helps!
I think the problem is probably because of your programming background. If you had good programming background, like understanding how programming actually works, it would really speed up your ability to learn any other programming languages or frameworks. These days, many tend to jump into programming via frameworks (i.e Laravel, Angular, Spring etc.) or Libraries like React. If you start programming like this, it will literally be difficult to quickly pick another framework in another language and get along with it. I will advise you take a step back and ask yourself "am I really good in programming?" or "am only good in framework?". Learn the basic core concept of programming such as programming paradigms, operators, variables, functions, methods , control flows, data structures and algorithms; when you really know how all these work, you will realise that jumping to any language or framework is not big deal because they all have commonalities in semantics, just syntax differences sometimes. I hope this helps!