Everything you need to know about React 19
Actions
useActionStatecan be used to control the form
React Compiler
- Managing
useCallbackanduseMemois hard - Compiler takes care of adding these hooks so developer doesn’t have to add it.
New Hooks
useActionStateuseFormStatus- returns
isPendingstate which can be used to show loading indicator until form is submitted
- returns
useOptimistic- Optimistically sets the state to success action and reverts back if there is an error
- error, isSubmit and pending
use- Declarative resource reading during render
refas a Prop- React Server Components
use server;
- Improved Error Handling
- Document Metadata
Micro-frontends in Scaling Front-end Architectures
What are micro-frontends?
- Design approach in frontend development where a monolith application into smaller applications, that can be deployed independently
- Decouple Major Features to separate apps
- Provide APIs to fetch necessary data
Advantages
-
No direct communication
-
No dependency between micro-frontends
-
Breaking changes in one application has no impact on other frontends
-
Container
- Product List application
- Cart Application
Integration
- Container needs access to the source code of all the micro frontend applications
Types of Integration
- Build time Integration
- Run time Integration
- Server Integration (Payload.js)
How to implement Integration?
- No single perfect solution to this
- Each have it’s pros and cons
Build Time Integration
- Easy to setup and understand
- Container needs to be deployed everytime any micro frontend is deployed
Run Time Integration
- MicroFrontend can be deployed independently at any time
- Different versions can be deployed and container can decide which one to choose
- Tooling setup is far more complicated
Run-Time Integration with Webpack Module Federation
- Harder to setup
- Most flexible and performant solution
- Basic understanding of webpack is required
Steps to implement Module Federation
- Designate one app as the Host and other as the Remote
- In the Remote, decide which modules (files) you want to make available in other projects
- Setup Module Federation plugins to expose those files
Single-SPA
- Micro-frontend orchestration framework
- Manages the lifecycle of multiple MFEs
- Handles routing and lifecycle events out of the box
Managing Shared state between Micro-Frontends
- Using a global store
- Shared State Management Library (Redux/Zustand)
- Event Bus or Pub/Sub Model
- MFEs communicate via a central bus event
When should you not use Micro-Frontends
- The application is small and not expected to grow significantly
- Team Size doesn’t justify the added complexity
Building Applications at the Edge
Why deploy applications at the edge?
- Latency
- Availability
- Compliance
Real-time face detection in React using Tensorflow.js
- Face-api.js
What is Tensorflow
- Open Source Machine Learning Framework for building and training machine models
How it works
AI for Frontend Developers
npm i aiAI SDK from Vercel- Vercel ai Tools
- Rag
- Embeddings
- Chunks