TikTok just released its React Native killer…

Fireship · Beginner ·🌐 Frontend Engineering ·1y ago
Skills: React60%

Key Takeaways

Lynx, an open-source app development framework created by ByteDance, is compared to other cross-platform tools like React Native and Flutter for building native iOS and Android apps. Lynx claims to achieve smoother and faster performance with its dual-threaded UI rendering engine and Rust-based tooling.

Full Transcript

it's the moment we've all been waiting for a brand new game-changing blazingly Fast JavaScript framework just hit the timeline yesterday B dance the company that gave the world the gift of social media crack via Tik Tok gave the world another gift in the form of an open-source multi-platform app development framework called links developers can throw fossilized relics like react native and flutter in the garbage and rewrite their native mobile apps from scratch with shiny new rust based tooling and a high performance dual threaded UI rendering engine like react native it empowers web Developers to build shoddy IOS and Android apps with JavaScript but Lynx claims to achieve smoother Pixel Perfect uis and faster launch times compared to other crossplatform tools that's a big claim and in today's video we'll try out links and find out if it's a legit react native killer it is March 6 20125 and you're watching the code report lyns is not just another half-baked GitHub project written by a 19-year-old on prescription amphetamines it's not the terminal browser with the same name but rather a production ready framework that's already in use in hi trffic apps at Tik Tok it doesn't the main Tik Tok app where you would post your cringe Dance videos but it does power the search panel Tik Tok studio and a bunch of other ancillary apps I find this very interesting because bite dance was one of the early adopters of flutter and is still on the flutter showcase today in addition if they wanted to use web Technologies to build mobile apps why not just use something like react native ionic or native script instead of Reinventing the wheel well the unspoken reason is that creating new Frameworks gives us developers job security but the official reason in their blog post is mostly about performance performance throughout history many people have criticized react native for not feeling truly native and that's because it relies on a single-threaded JavaScript bridge that allows JavaScript code to communicate with native code like Swift on iOS or cotlin on Android but that single-threaded bridge is a big bottleneck that can create performance issues are you saying there's something wrong with my gear is that what you're saying to me the react native team has addressed this by building a custom engine called Hermes and released the fabric renderer a few years ago which some have called the new and improved Bridge or a bridgeless architecture but B dances has taken a different approach with links using a dual threaded architecture where user code and framework code are split into two distinct runtimes the main thread is powered by Prim JS which itself is built on quickjs which is a tiny 210 kilobyte JavaScript engine its job is to handle synchronous UI tasks like event handling while user code runs on a separate thread which means the crappy inefficient code you write won't block the main thread and degrade performance and the end result is instant first frame rendering for the end user or in other words no blank screens that's pretty cool but what's even more awesome is that this engine is framework agnostic you don't have to use react and could build your app and spelt view or whatever framework you want in addition it supports actual native CSS features for styling like transition animations variables gradients and so on and that's a lot more intuitive for web developers the major problem though is that there's virtually no ecosystem around this framework there's no Expo tooling to solve all your problems and there's no massive widget Library like you have in flutter that being said let's go ahead and try it out to find out if it has any any potential when you generate a project the first thing you'll notice is that it uses RS pack which is a rust based module bundler that's supposedly even faster than V that'll generate a starter template in typescript and if we look at the code it looks like a basic reactjs project where the UI is represented with HTML and CSS but if we take a closer look at the markup you'll notice we're using non-standard elements like view text and image these look like HTML tags but they actually correspond to native elements on different platforms like view is UI View and Os or View group in Android but would translate to a div on the web and what's especially awesome here is that we can use regular CSS or even tail wind to style these elements which is something you can't really do in react native although you could use tools like native wind but now let's go ahead and run it the easiest way to run it on mobile is to use the linkx Explorer app which allows you to live preview it on your phone but when I tried to compile it on Windows I immediately got an error so I tried to switch to the windows subsystem for Linux and while it compiled I could never actually get it to run on the Explorer app is so finally I had to dust off my old MacBook and everything seemed to work a lot smoother on Mac OS and as you can see here when I make changes to my code locally it'll automatically render the demo on my phone impressive very nice I think Lynx has a lot of potential and that's bad news because it means I need to rewrite all my code with this shiny new object at least I can review all that code automatically thanks to code rabbit the sponsor of today's video an AI co-pilot for code reviews that gives you instant feedback on every pool request unlike basic linters it understands your entire code base so it can can catch more subtle issues like bad code style or missing test coverage then it will suggest simple oneclick fixes to help you get things cleaned up quickly code rabbit keeps learning from your PRS over time so the more you use it the smarter it gets it's 100% free for open source projects but you can get one month free for your team using the code fireship with the link below this has been the code report thanks for watching and I will see you in the next one

Original Description

Sign up for CodeRabbit using code FIRESHIP to get get 1-month free https://bit.ly/41rLUxm Let's take a first look at Lynx, an open-source app development framework created by ByteDance. Compare Lynx to other cross-platform tools like React Native and Flutter for building native iOS and Android apps. #programming #tech #thecodereport 💬 Chat with Me on Discord https://discord.gg/fireship 🔗 Resources Lynx Docs https://lynxjs.org React Native Expo in 100 Seconds https://youtu.be/vFW_TxKLyrE Awesome Developer Tools https://youtu.be/qyCVCGg_3Ec 🔥 Get More Content - Upgrade to PRO Upgrade at https://fireship.io/pro Use code YT25 for 25% off PRO access 🎨 My Editor Settings - Atom One Dark - vscode-icons - Fira Code Font 🔖 Topics Covered - What is ByteDance Lynx? - React Native vs Lynx - Flutter vs Lynx - How build mobile app with JavaScript - React Lynx basics tutorial
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Fireship · Fireship · 0 of 60

← Previous Next →
1 Angular 4 Development and Production Environments with Firebase
Angular 4 Development and Production Environments with Firebase
Fireship
2 OAuth with Angular and Firebase Tutorial
OAuth with Angular and Firebase Tutorial
Fireship
3 Anonymous Authentication with Angular and Firebase - Lazy Registration
Anonymous Authentication with Angular and Firebase - Lazy Registration
Fireship
4 Angular Router Guards for Firebase Users
Angular Router Guards for Firebase Users
Fireship
5 Angular Firebase CRUD App with NoSQL Database Tutorial
Angular Firebase CRUD App with NoSQL Database Tutorial
Fireship
6 Upload Files from Angular to Firebase Storage
Upload Files from Angular to Firebase Storage
Fireship
7 How to Deploy an Angular App to Firebase Hosting
How to Deploy an Angular App to Firebase Hosting
Fireship
8 Sharing Data between Components in Angular
Sharing Data between Components in Angular
Fireship
9 Loading Spinners for Asynchronous Firebase Data
Loading Spinners for Asynchronous Firebase Data
Fireship
10 Angular 4 Transactional Email with Google Firebase Cloud Functions
Angular 4 Transactional Email with Google Firebase Cloud Functions
Fireship
11 Firebase Database Rules Tutorial
Firebase Database Rules Tutorial
Fireship
12 Autocomplete Search with Angular4 and Firebase
Autocomplete Search with Angular4 and Firebase
Fireship
13 Reddit Inspired Upvoting System with Angular and Firebase NoSQL
Reddit Inspired Upvoting System with Angular and Firebase NoSQL
Fireship
14 Angular Drag-and-Drop File Uploads to Firebase Storage
Angular Drag-and-Drop File Uploads to Firebase Storage
Fireship
15 Text Translation with Firebase Cloud Functions onWrite and Angular 4
Text Translation with Firebase Cloud Functions onWrite and Angular 4
Fireship
16 Custom Usernames with Firebase Authentication
Custom Usernames with Firebase Authentication
Fireship
17 Twitter-Inspired Follow Unfollow Feature with Firebase and Angular 4
Twitter-Inspired Follow Unfollow Feature with Firebase and Angular 4
Fireship
18 Simple Pagination with Firebase and Angular 4
Simple Pagination with Firebase and Angular 4
Fireship
19 How to Connect Firebase Users to their Data - 3 Methods
How to Connect Firebase Users to their Data - 3 Methods
Fireship
20 Add Toast Message Notifications to your Angular App
Add Toast Message Notifications to your Angular App
Fireship
21 Facebook-Inspired Reactions System with Angular and Firebase
Facebook-Inspired Reactions System with Angular and Firebase
Fireship
22 Learn NgModule in Angular with Examples
Learn NgModule in Angular with Examples
Fireship
23 Lazy Loading Components in Angular 4
Lazy Loading Components in Angular 4
Fireship
24 Stripe Checkout Payments with Angular and Firebase - Part 1
Stripe Checkout Payments with Angular and Firebase - Part 1
Fireship
25 Process Stripe Payments with Firebase Cloud Functions - Part 2
Process Stripe Payments with Firebase Cloud Functions - Part 2
Fireship
26 Selling Digital Content in Angular with Stripe Payments - Part 3
Selling Digital Content in Angular with Stripe Payments - Part 3
Fireship
27 Angular 4 Full Text Search with Algolia - Part 1
Angular 4 Full Text Search with Algolia - Part 1
Fireship
28 Algolia with Firebase Cloud Functions - Part 2
Algolia with Firebase Cloud Functions - Part 2
Fireship
29 Firebase Phone Authentication in Angular 4
Firebase Phone Authentication in Angular 4
Fireship
30 Top 7 RxJS Concepts for Angular Developers
Top 7 RxJS Concepts for Angular Developers
Fireship
31 Learn Angular Animations with 5 Examples
Learn Angular Animations with 5 Examples
Fireship
32 Advanced Firebase Data Filtering (Multi-Property)
Advanced Firebase Data Filtering (Multi-Property)
Fireship
33 Realtime Maps with Mapbox + Firebase + Angular
Realtime Maps with Mapbox + Firebase + Angular
Fireship
34 Angular Reactive Forms with Firebase Database Backend
Angular Reactive Forms with Firebase Database Backend
Fireship
35 Send Push Notifications in Angular with Firebase Cloud Messaging
Send Push Notifications in Angular with Firebase Cloud Messaging
Fireship
36 Top 7 Ways to Debug Angular 4 Apps
Top 7 Ways to Debug Angular 4 Apps
Fireship
37 Infinite Scroll with Angular and Firebase
Infinite Scroll with Angular and Firebase
Fireship
38 Use TypeScript with Firebase Cloud Functions
Use TypeScript with Firebase Cloud Functions
Fireship
39 Realtime Graphs and Charts with Plotly and Firebase
Realtime Graphs and Charts with Plotly and Firebase
Fireship
40 Role-Based User Permissions in Firebase
Role-Based User Permissions in Firebase
Fireship
41 User Presence System in Realtime - Online, Offline, Away
User Presence System in Realtime - Online, Offline, Away
Fireship
42 Location-based Queries with GeoFire and Angular Google Maps
Location-based Queries with GeoFire and Angular Google Maps
Fireship
43 Angular ngrx Redux Quick Start Tutorial
Angular ngrx Redux Quick Start Tutorial
Fireship
44 Angular Ngrx Effects with Firebase Database
Angular Ngrx Effects with Firebase Database
Fireship
45 Progressive Web Apps with Angular
Progressive Web Apps with Angular
Fireship
46 Angular Ngrx with Firebase Google OAuth User Authentication
Angular Ngrx with Firebase Google OAuth User Authentication
Fireship
47 RxJS Quick Start with Practical Examples
RxJS Quick Start with Practical Examples
Fireship
48 Send SMS Text Messages with Twilio and Firebase
Send SMS Text Messages with Twilio and Firebase
Fireship
49 Firebase Database Performance Profiling
Firebase Database Performance Profiling
Fireship
50 Native Desktop Apps with Angular and Electron
Native Desktop Apps with Angular and Electron
Fireship
51 Subscription Payments with Stripe, Angular, and Firebase
Subscription Payments with Stripe, Angular, and Firebase
Fireship
52 Firestore with AngularFire5 Quick Start Tutorial
Firestore with AngularFire5 Quick Start Tutorial
Fireship
53 Angular HTTP Client Quick Start Tutorial
Angular HTTP Client Quick Start Tutorial
Fireship
54 Google Sign-In with Firestore Custom User Data
Google Sign-In with Firestore Custom User Data
Fireship
55 Star Review System from Scratch with Firestore + Angular
Star Review System from Scratch with Firestore + Angular
Fireship
56 Angular Chatbot with Dialogflow (API.ai)
Angular Chatbot with Dialogflow (API.ai)
Fireship
57 Learn @ngrx/entity and Feature Modules
Learn @ngrx/entity and Feature Modules
Fireship
58 Infinite Scroll Pagination with Firestore
Infinite Scroll Pagination with Firestore
Fireship
59 Faster Firestore via Data Aggregation
Faster Firestore via Data Aggregation
Fireship
60 Contentful - CMS for Angular Progressive Web Apps
Contentful - CMS for Angular Progressive Web Apps
Fireship

Lynx is a new open-source app development framework that claims to offer better performance than React Native and Flutter. It uses a dual-threaded UI rendering engine and Rust-based tooling to achieve smoother and faster performance.

Key Takeaways
  1. Install Lynx and generate a new project
  2. Use RS pack to bundle modules
  3. Write UI code with HTML and CSS
  4. Use non-standard elements like view, text, and image
  5. Style elements with CSS or Tailwind
  6. Run the app on mobile using the Lynx Explorer app
💡 Lynx's dual-threaded UI rendering engine and Rust-based tooling offer better performance than React Native and Flutter

Related Reads

📰
Why Vanilla JS? In the article below, I am sharing my story of building SaaS product in vanilla js and explaining why I decided to go with this approach. https://guseyn.com/html/posts/why-vanilla-js.html
Learn why choosing Vanilla JS can be a great approach for building SaaS products and how it can simplify development
Dev.to · Guseyn Ismayylov
📰
How to Create a Cursor Tail Using HTML, CSS, and JavaScript
Learn to create a colorful cursor tail using HTML, CSS, and JavaScript for a unique user interface effect
Medium · JavaScript
📰
I built a landing page with Three.js, vanilla JS, and zero frameworks — here's what I learned
Learn how to build a landing page with Three.js and vanilla JS without relying on frameworks, and discover the key takeaways from this project
Dev.to · Ayush Shekhar
📰
Part 1: Why I Rarely Use useEffect Anymore (and what I use instead)
Learn why useEffect is not always the best choice in React and discover alternative solutions
Dev.to · Alejandro
Up next
How To Build A Twitter Clone - React Next JS - Appwrite Crash Course
Adrian Twarog
Watch →