Gossip - a Realtime Chat Application
Website: tinyurl.com/gossip-chat-app
An application that runs on the client side (hosted on Netlify) and accesses the remote server (hosted on Heroku) for information is called a client/server application.
AIM
Use Cloud Services to build and deploy an application.
Tech Stacks Used:
- React.js :
a JavaScript library for building interactive UI.It is component-based library & allows us to create reusable UI components that manage states & props, then compose them to make complex UIs.
- Node.js :
a JavaScript runtime built on Chrome's V8 JavaScript engine, an open source server environment, designed to build scalable network applications.
Why did we choose NodeJS?
CLICK ME
- Here is how PHP or ASP handles a file request: - Sends the task to the computer's file system. - Waits while the file system opens and reads the file. - Returns the content to the client. - Ready to handle the next request. - Here is how Node.js handles a file request: - Sends the task to the computer's file system. - Ready to handle the next request. - When the file system has opened and read the file, the server returns the content to the client. - Node.js eliminates the waiting, and simply continues with the next request. - Node.js runs single-threaded, non-blocking, asynchronously programming, which is very memory efficient.
Socket.IO enables real-time, bidirectional and event-based communication with reliability and speed. It is built on top of the WebSockets API (Client side) and Node.js.
Working of Socket.io
To establish the connection, and to exchange data between client and server, Socket.IO uses Engine.IO. This is a lower-level implementation used under the hood. Engine.IO is used for the server implementation and Engine.IO-client is used for the client. With sockets, when the server receives a new message it will send it to the client and notify them, bypassing the need to send requests between client and server.
-
JavaScript, CSS, HTML. Languages:
Hosting
Server on Heroku
Client on Netlify
Netlify | Heroku | |
---|---|---|
Description | Deploy modern website with one click. | Build, run, and operate applications entirely in the cloud. |
Parent Company | Independent | SalesForce |
Flexibility | Low | High |
Price | Fixed Price | Pay by the Usage |
Scalability | Scalable | Scalable |
Ideal for | Modern web projects automation | Creating entire applications (including database) on a cloud environment |
Continuous Integration | Out of the box | Option to turn it on |
Developer Focus | Frontend | Backend |
Type of Project | Web | Mobile and Web |
Remarks | No sleeping apps | Sleeping apps |