Tutorials on Real Time

Learn about Real Time from fellow newline community members!

  • React
  • Angular
  • Vue
  • Svelte
  • NextJS
  • Redux
  • Apollo
  • Storybook
  • D3
  • Testing Library
  • JavaScript
  • TypeScript
  • Node.js
  • Deno
  • Rust
  • Python
  • GraphQL
  • React
  • Angular
  • Vue
  • Svelte
  • NextJS
  • Redux
  • Apollo
  • Storybook
  • D3
  • Testing Library
  • JavaScript
  • TypeScript
  • Node.js
  • Deno
  • Rust
  • Python
  • GraphQL

Unlock Granular Data Security with Supabase Row Level Security (RLS)

Ever wished you could give your users access to specific data in your Supabase database, but not everything? Imagine a social media app where users can only see posts from their friends, or a project management tool where team members can only access tasks assigned to them. This is the power of Row Level Security (RLS) ! Why RLS is Your Data Guardian Traditional security relies on application-level checks, which can be cumbersome and prone to loopholes. RLS takes a different approach, acting as a gatekeeper at the database level. Here's how it empowers you:

Supabase vs Convex: A Comprehensive Comparison of Backend-as-a-Service Providers

In the thriving world of Backend-as-a-Service (BaaS) platforms, developers have a host of options. Today, we'll focus on two popular platforms, Supabase and Convex . Both of these BaaS providers offer an array of features to aid in web application development. We'll dive into the similarities and differences, the advantages of each, and when to use each platform. My aim with this article is to help you make an informed decision on the best platform for your real-time project. Supabase and Convex share several key features:

I got a job offer, thanks in a big part to your teaching. They sent a test as part of the interview process, and this was a huge help to implement my own Node server.

This has been a really good investment!

Advance your career with newline Pro.

Only $40 per month for unlimited access to over 60+ books, guides and courses!

Learn More

Supabase for Real-Time Applications: Challenges of Self-Managing WebSockets

In the evolving space of modern software development, the desire to develop real-time full-stack applications holds considerable worth. These applications flourish on frameworks such as React and Angular, curated for building real-time client-side applications. However, the complexity introduced by server-client communication can be intimidating. Thus, I present to you, "Why opt for Supabase for the construction of real-time applications?" This comprehensive guide aims to shed light on the benefits of Supabase and how it stands out among alternatives like WebSockets or methodologies such as Conflict-free Replicated Data Type (CRDT) or Operational Transformation (OT) .

Exploring the Intricacies of WebRTC for Real-Time Communication

WebRTC is a collection of APIs and protocols that facilitates real-time communication directly between browsers. This article dives into the fundamental workings, main components, benefits, use cases, and appropriate use cases for WebRTC usage. The WebRTC journey starts with the MediaStream API . This component provides access to a user's camera and microphone, simplifying the capture of audio and video content, and thereby, playing a crucial role in real-time communication.

Comprehensive Guide to Server-Sent Events (SSE): Real-Time Communication

Real-time communication between a server and client is a key requirement for the majority of today's web applications. Server-Sent Events (SSE) is a technology that satisfies this need, enabling real-time server-to-client updates over a single HTTP connection. This article dives into the intricacies of SSE, explaining its fundamental concepts, operation, and use cases to help understand how it facilitates seamless and continuous updates in web applications. To fully comprehend SSE, it's vital to note that it is a unidirectional communication channel. This implies that it's primarily designed for use cases where the server has to push updates to the client.

An In-Depth Understanding of Long Polling

In the ever-evolving landscape, enhancing server-client communication has always been a pivotal goal. A key player in this evolution has been Long Polling . The aim of this article is to provide a comprehensive overview of the Long Polling , its process, benefits, challenges, and where it fits best in web development. Long Polling is a communication strategy between the server and the client where the client sends a request to the server. Instead of an immediate response, the server holds the request until fresh data is ready.

Unveiling Long Polling, WebRTC, and SSE as Alternatives to WebSockets for Real-Time Collaboration Apps

This blog is dedicated to technologies that can serve as alternatives to the widely-used WebSockets for building real-time collaborative applications. My goal is to help developers unravel the advantages, applicable scenarios, and potential drawbacks of these alternatives, thereby empowering them to select the most fitting technology for their distinct use case. WebSockets have traditionally been the default choice for establishing persistent communication and ensuring low-latency connection for bidirectional data flow between the client and server. These real-time, full-duplex, and instantaneous communication channels are suitable for live applications, chat forums, and gaming platforms. In fact, robust platforms such as Supabase heavily rely on WebSockets to facilitate real-time collaborative features. To learn more Supabase and WebSockets, and how they can be used to create a real-time collaborative app effectively, visit Real-Time Collaborative Apps with Next.js and Supabase . However, WebSockets aren't the only viable option. In this article, we will shed light on three other potent alternatives: Long Polling , WebRTC , and Server-Sent Events .

The Complications of Implementing Real-Time Collaboration Apps and How to Simplify Them

This article aims to tackle the challenges encountered while implementing real-time collaboration and provide insights on how to simplify these complexities. Let's embark on this journey together and make the task of creating a Real-Time Collaboration App easier. Developing a Real-Time Collaboration App is not a cakewalk. There are several facets that make this task challenging. Here are some of the primary hurdles that developers often face: While the task seems intimidating, there are strategies to simplify it. The first step is to select a suitable Tech Stack according to your specific use case. For a real-time collaborative app, the recommended tech stack includes Next.js with Supabase , Tailwind CSS , and Typescript .

Unveiling the Truth: Why Node.js May Fall Short for Real-Time Collaboration Apps

Navigating through the landscape of real-time collaboration apps presents a number of challenges, regardless of whether one is dealing with a simple chat app or a complex collaborative board. Node.js faces several challenges in the context of real-time collaboration apps, particularly around synchronization , latency , conflict resolution , and scalability . Its single-threaded nature can lead to bottlenecks under CPU-intensive tasks, potentially worsening latency issues and complicating synchronization of user activities in real-time. When it comes to conflict resolution , the platform does not provide built-in mechanisms, requiring developers to implement these features manually, which can be error-prone and inefficient. Regarding scalability , while Node.js handles a large number of simultaneous connections well, its performance can degrade under the computational demands of complex collaborative environments. Node.js also does not inherently offer offline support , which is critical for a seamless user experience in collaborative apps, necessitating additional solutions. Security in Node.js, crucial for collaborative apps, often demands extensive customization and additional modules, increasing development complexity. Resource optimization and ensuring cross-platform compatibility also pose challenges, as they can require a variety of additional tools and libraries to achieve efficient outcomes. This article dives deep into the reasons why Node.js may not measure up for real-time collaborative apps in certain use cases and suggests possible alternatives.