Evan Bacon - Expo

Durée: 78m42s

Date de sortie: 05/02/2024

Today's episode features Evan Bacon, the head of devtools at Expo. Expo is a framework for building React Native apps it takes care of a lot of the details so all you have to worry about is writing code. Evan is also the author of Expo Router which makes seamlessly manage your app's navigation with file based routing and so much more. We also delve in to the topic of React Server Components on React Native and the exciting possibilities of developing for Vision OS.

Episode sponsored By CodeCrafters (https://codecrafters.io/devtoolsfm) 40% Discount!

Become a paid subscriber our patreon, spotify, or apple podcasts for the full episode.

On a construit une réagnavigation pour résoudre des problèmes, c'est la base de config.
Et puis l'année dernière, j'ai créé cette nouvelle solution de navigation qui s'appelle Expo Router,
qui s'étend à la surface de la réagnavigation, mais qui ajoute une route filière pour votre application native.
Ce qui est vraiment incroyable, c'est la première route filière pour la développement native.
La première version était vraiment intéressante sur comment est-ce que c'est possible, est-ce que c'est possible,
peut-être que vous pouvez en faire des interactions vraiment compliquées avec ça.
Bonjour, bienvenue à l'application de DevTools FM. C'est un podcast de développeurs et les gens vont faire ça.
Je suis Andrew et je suis le host de MyCo.
Salut tout le monde, nous sommes vraiment excitées aujourd'hui à avoir Evan Bacon avec nous.
Evan, vous êtes très bien joué pour construire et travailler sur Expo,
et nous sommes incroyablement excitées à parler de ça.
Mais avant de nous parler de Expo,
vous voulez dire à nos listeners un peu plus sur vous-même ?
Oui, oui, bien sûr, et merci d'avoir moi.
Je suis Evan Bacon, je suis le développeur et le manager de DevTools à Expo.
Je m'ai également mené à la plateforme web et à la integration de notre service.
Avant Expo, je travaillais en design de frog,
construisant des apps et des websites pour différents clients,
et un type de rôles de consultancy qui m'a fait définir Expo
parce qu'il faut construire et protéger très vite,
et que la nécessité de construire et de réacteur,
nous avons vraiment fait beaucoup de choses pour nous.
Je suis réglé et travaillais sur Expo
pour, je pense, en 7 ans maintenant,
donc pour un peu d'un moment.
Et avant ça, je suis un builder de Lego Master
quand j'étais 13 à 19 ans.
C'est un moment de plaisir dans votre vie.
J'ai vu des photos de vous avec Stan Lee et tous les différents types de stars.
Oui, c'est vraiment intéressant.
J'aime vraiment travailler sur des projets intracurés,
et l'intégrité de l'intégrité, c'est parfait.
C'est comme une continuation de Lego, l'intégrité de l'intégrité,
la integration mobile native.
Oui, le Lego est le premier signe que vous avez un problème.
Vous avez entendu les gens, si vos enfants sont vraiment les Lego.
Oui, ils sont en train de les garder de l'envers.
La objectif, c'est ce qui m'a fait honte sur le programme.
Il y a des signes plus tard.
Alors, pour encore, comment expliquer ce que l'expo est pour les gens
et pourquoi peut-on utiliser Expo pour dire,
juste réacteur.
Oui, c'est une question très grande.
Expo est un framework pour les réactes native à la base.
Les plateformes target sont iOS, Android et web.
Et en le même manière que React DOM,
vous ne faites pas vraiment des websites directs avec React DOM,
vous avez généralement un framework,
ou même un tooling de niveau bas,
qui contient peut-être un bundler,
un CLI ou un Dev Server,
et peut-être un tooling pour l'export et l'hosting.
Réacteur native a des problèmes similaires,
en fait, tous ces problèmes,
mais aussi des développements native.
Il y a un peu d'autres problèmes,
comme l'upgradation, l'inversion, le code signé,
et les app store.
Donc, c'est très similaire à la développement web.
Expo est un framework fantastique pour faire ça.
Il y a un couple d'autres frameworks aussi,
c'est la framework de la communauté.
Microsoft a une de les développées,
et il y a Ignite par les gens de la red infinité.
C'est très similaire à la web,
où vous avez Next and Remix.
C'est intéressant,
si nous pensons à ce que le React est aujourd'hui.
Oui, sure, certains gens sont toujours en train de faire le React,
mais les frameworks métaphores sont
un grand part de ce que les gens ont fait.
C'est intéressant de voir cette transition,
et comme moi, j'ai travaillé sur R4C,
et le compte sage de Reactты.
Je vis de la métaphoreonstratale100ella
car je n'ai pas du tout un adrésKap
qui a les énergies des rôles.
Ils sont les Chrome,
d'avoir appointment avec des gadgets masterx,
d'avoir toutes leseries de Pin Airdalk,
vendre des softwares,
dans les dernières années, mais en quelque sorte.
Mais ça peut toujours être malade.
Donc, un des choses de nombreux problèmes est la routation.
C'est comment tu as décidé de faire des vues pour les rendres,
si tu les envoies comme un webview, un rendering natif, ou autre.
Donc, pour nous dire un peu plus, comment l'expos t'aimera?
Avec la routation?
Oui.
Oui, donc la navigation sur le natif est un problème très rigide.
Et nous avons travaillé sur ça pour un moment.
Notre base d'effort était la suite des libraries qui s'appliquent « React Navigation»,
qui est la main de la façon dont les gens construisent la navigation avec React Native.
Et certains problèmes que tu as avec la navigation native,
que tu n'as pas vraiment en train de faire sur le web,
c'est que le web a des back buttons, des URLs que tu peux bouger avec.
Et en fait, le web est en train de bouger plus dans cette direction
de comment la routation native fonctionne,
où tu as des routes nestées, par exemple.
C'est un grand.
Préviens, si tu avais peut-être une prochaine web,
tu pourrais construire la route par route,
et tu as peut-être un élément de la lait.
Mais avec la native app, tu as des éléments de la lait.
Donc la navigation neste est une grande partie de la navigation native.
Donc je pense que c'est une bonne convergence.
Et tu as aussi des routes parallèles, c'est un autre grand.
Avec la native app, tu n'as pas la possibilité de créer des contextes multiples,
comme si tu avais des tabs.
Donc les barres de tab font souvent beaucoup de ce qui est le purpose.
Si tu penses à Twitter, peut-être que tu es sur la tab de la maison,
et que tu fais quelque chose, mais tu veux reposer avec les tweets.
Tu te taperas sur la tab de la search, tu trouveras quelque chose,
et puis tu te taperas sur la tab de la maison.
En web, c'est-à-dire sur le Twitter mobile,
si tu te taperas sur la tab de la maison,
tu te resetteras à la page principale.
En native, ça préserve la même memoire de la stack,
et ça te prendra à la page de la tweet.
Si tu te taperas sur la tab de la maison,
ça te prendra à la maison.
Il y a beaucoup de complexité,
que je pense que la web a historiquement pu s'en sortir
sans avoir à ajouter.
En native, tu as besoin de beaucoup de ça.
Nous avons créé une navigation de la navigation
pour résoudre beaucoup de problèmes.
C'était config-based.
L'année dernière, je créé une nouvelle solution de navigation
qui s'appelle Expo Router,
qui s'étend à la navigation de la navigation,
mais ça ajoute un filon-based routier
à votre application native,
qui est vraiment incroyable.
C'est le premier filon-based routier
pour la développement native.
La première version était vraiment
focussée sur comment est-ce que c'est possible,
est-ce que c'est raisonnable,
peut-être que tu peux en faire des interactions
vraiment compliquées avec ça.
Et en tant que,
les gens ont eu un bon succès.
C'est un routier test,
tu peux faire des routes parallèles
et tu navigues tout en utilisant les URLs,
ce qui est assez drôle,
parce que l'un des plus compliqués
et importants features de la app native
est, pour beaucoup de apps native,
pas un bullet silver,
mais pour des app native,
c'est le link universal,
où tu as des links d'élo,
qui peuvent aller dans l'app,
mais tu connectes les links avec votre site web.
Donc, tu peux envoyer...
C'est comme sur Twitter et YouTube,
et c'est tout le majeur de la web,
où si je t'ai envoyé un link,
par exemple, un TikTok,
si tu as l'app installé,
tu ouvriras l'app,
et ça t'appuie à l'app.
C'est très difficile à installer,
et très difficile à tester.
Tester est un peu d'hier,
parce que c'est pas un service,
donc tu n'as pas de réponses
et de réponses,
tu as juste une réponses,
et tu as besoin d'avoir
une structure de test
pour voir si la page fonctionne.
Avec l'Experrouter,
parce que tout est URL-driven,
tu as des links universaux automatiquement.
Tout le monde fonctionne pour tout,
sur chaque route,
et parce que tu as des paramètres de route
pour passer des données,
le state entre les routes
peut aussi être serialisé
et shared en public accessible,
c'est très bon pour les tests,
c'est très intéressant,
je vous ai donné des shareings.
Et en même manière
que les apps
qui ont pu se retirer
sont paris avec un site
de service ou de site
statique,
ce qui les donne est effectivement
SEO pour leur app native,
parce que si tu as SEO
pour ton app web,
tu as un tweet,

et tu n'as pas d'accès,
c'est trop difficile.
Avec l'Experrouter, tu as tout ça automatiquement,
parce que tu as un site web,
qui peut être état,
et tu as un app native,
qui est universalement lié à cet app.
Donc, des capacités assez excitantes
sont ajoutées
par la route biologique.
Et nous avons juste réglé
peut-être 3 heures auparavant
en enregistrant ça.
Et ça t'adresse...
Ça t'adresse
API routes.
Tu as des services
qui peuvent être déployés
par le système de route biologique.
Imprové type de route,
donc tu as auto-complete
quand tu mets les links.
Et maintenant, ça a un route basé
de bundlesplitting,
ce qui est quelque chose que nous n'avons pas
avant. C'est currently
disabled en native, parce que
nous voulons ajouter
un autre feature en v4,
qui va être assez slick,
pour supporter
en disant si un route
devrait avoir la bundle
off-line, ou si c'est online,
ou comment ça devrait révalider
la politique de cashier pour
cette bundle de split, parce que les app native
off-line support sont très fondamentaux.
Donc,
les possibilités sont vraiment enloues.
Et...
La route et la navigation
est un problème, mais
par ajouter le route basé,
nous pouvons
déployer et résoudre un
peu d'autres problèmes.
Oui, ça semble que, en regardant les exemples,
c'est un très natural
avec les layouts nestés et tout.
Ça vous rend un remix,
ou un route app,
que tout le nouveau truc que tu as
qui est en train de
faire ça, ça ressemble
à ce que je sais bien que la prochaine JS
est très bien, je peux juste
changer de route expo, et
probablement être très productive, très rapidement.
Oui, ce qui est vraiment
intéressant. Et ça aussi tient
beaucoup avec
comment notre support web s'applique.
Historiquement,
la façon dont nous avons ajouté le support web
était qu'il y avait une version web
de comment la support native
s'applique.
Un client rend un application single-page.
Vous avez un component root qui rend tout
tout. Tout est downloadé, tout est off-line.
Quand vous commencez
l'app, tout le code s'execute
pour rendre l'application.
Donc, l'équivalent web de ça
serait effectivement
« create react app »
Tout est off-line, tout rend
tout à l'heure, tout est downloadé.
Et ce n'est pas un site
raisonnable pour
des différentes
éras de web développement.
Et
par introduire
ce système de route filer,
nous avons pu
vraiment augmenter la complexité de
ce qui est possible sur le web
par simplement
approvinger ce que vous pouvez faire sur native.
Historiquement, avec native
vous avez
un spa, et tout votre
data fetching est client-side
mais maintenant, nous sommes
pu faire des choses plus compliquées
qui nous ont planifié pour la v4.
C'est la scope de la question
que j'ai étendu avec Explorer Router.
C'est très grand, donc nous nous
expliquons les 4 releases et nous
nous avons mis en place 3, nous sommes
en train de faire la fin de la fin,
qui nous tient tout à l'heure.
Je suis déjà travaillé
quelques jours, et c'est déjà assez
mind-blowing, comme ce que nous
pouvons faire sur native.
Cette semaine, nous aimons
accueillir notre nouveau sponsor.
Avecout nos sponsors, ce podcast
n'est pas possible.
Notre nouveau sponsor est CodeCrafters.
CodeCrafters est une plateforme
qui fait des challenges de programmation
pour des engineers de l'experience
de l'experience de l'experience.
Si vous êtes en train de faire un projet
qui vous tient à l'enjeu de votre programmation,
vous devez le vérifier.
Ils ont des challenges très cool,
j'ai vu sur le web, vous pouvez
construire votre propre BitTorrent,
construire votre propre Git, construire votre propre Docker.
Toutes ces challenges vous font
que vous vous entrez dans ces tools populaires
et vous avez le temps de apprendre
comment ils sont construits et les protocoles.
En même temps, peut-être même apprendre
une nouvelle language de programmation. Ils soutiennent
un host de languages de programmation populaires
comme Rust, Go, JavaScript et un whole bunch
d'autres. Quand ils ont signé
d'être un sponsor, j'ai fait un compte
et ont went through leur Build Your Own Redis Challenge.
Comme les listeners de cet podcast
ne le connaissent pas, je suis un phrenon-dev
donc je ne sais pas vraiment ce que Redis a fait
en faisant ça, mais après le construire
j'ai su que Redis est
une chose très simple, c'est juste un
bouton de valeur. Et puis,
en ce moment, vous devez apprendre
certaines technologies fondamentales aussi.
Quand j'ai commencé, j'avais
de la recette sur TCP.
Ils ne vous pointent pas à un article de Wikipedia
ou à des vidéos YouTube. Ils ont aussi
de bons contenus de la apprendre
qui vous intervient dans ce que la TCP
est, pourquoi elle a été faite et c'est un web-developpement
où je devrais probablement savoir ça. C'est vraiment fun
d'avoir à apprendre ça.
Et je vais probablement continuer avec le challenge.
Ainsi que le contenu, même le user
est targeté par l'experience de
les développeurs de l'experience.
Par exemple, en train de vous essayer
d'utiliser un editor custom en browser,
CodeCrafters vous permet de construire tout local. Vous pouvez
utiliser votre propre IDE, votre propre terminal.
Tout ce qu'il faut faire est de se couper et ils
ont des tests pour vous.
Pour essayer de faire CodeCrafters pour vous-même,
visitez codecrafters.io
ou devtools-fm.
À cette URL vous allez avoir un discount, mais
vous aussi vous allez être soutenus au podcast.
Vous ne voulez pas entendre ces ades?
D'accord, alors, vous devez être un membre de la plate-formes
où nous soutenons. Vous pouvez vous ajouter
sur Patreon, YouTube, Spotify, ou Apple Podcasts
pour devenir un membre. Et si vous voulez
trouver une autre manière de soutenir le podcast, vous pouvez
toujours vous ajouter à notre store merch, c'est shop.devtools.fm.
Là vous pouvez prendre une haute corde, comme la
que je vous ai mis en place.
Si vous voulez appeler pour être un sponsor de DevTools.fm,
vous devez vous ajouter à devtools.fm.s
slash sponsor pour appeler.
Et avec ça, nous allons retourner au épisode.
Je me suis regardé à Expo, je pense,
4 ou 5 ans plus tard, avant que vous vous
vous portiez de web support.
Pour moi, en fin de semaine, c'était un
non-starter. Je me suis dit que je voulais
une app Web et maintenant j'ai besoin de
construire cette deuxième chose. Donc, ça semble
que vous vous avez vécu de très loin.
Est-ce que, par l'intérêt de la rendition,
vous avez juste un index
ou vous avez des index de multiples app
d'indexes, comme un pour mon site web
et un pour mes apps?
Oui, c'est une question fantastique.
Il y a un peu de
des rapports de la plateforme
maximale, qui,
vous pouvez avoir un bon sens pour
quel est le state de coût
de suivre des gens.
C'est vraiment un des médecins
de products fantastiques.
Fernando Rojo, il est
juste 4 ou 30 ans
avant que vous puissiez
construire ce produit,
qui est une app en web,
une app en Expo,
une app en web.
Et
maintenant,
la limite est
que les gens vont mettre des
monoripaux, et les monoripaux
vont avoir une app
directrice, une directrice de component
qui est la plus universelle,
donc, comme les web et
des components Expo.
Et puis, ils vont avoir
un remix ou un site de Next.js,
et ça va avoir tous les routes
et les components Expo.
Et c'est
plutôt bien,
c'est mieux que ça, mais
c'est un peu grand,
comme,
si vous pensez à
la question de la date de
faîche, et comment vous
vous spendez en essayant de réduire
les salariés, et de
faire le contenu correct,
l'authentification,
l'enquête d'orchestrer
et de la présenter au
user, le forker à ce niveau
est ridicule.
Avec Expo Router,
ce que nous aimerions
acheter, et je suis assez
confident que nous y arriverons,
un système où votre date de
faîche et vos patterns de rendition
peuvent être shared across web et
native, et puis les components
peuvent aussi être shared.
Et je pense que, à ce point,
le lait de forker, où les
choses vont se couper entre web et native,
vont bouger
à la partie de la route de la lait,
je pense que la route de la lait
sera une grande, parce que sur native,
votre tab-bar, c'est très distinct,
et puis sur web, on a
des retours responsifs,
peut-être que ça se trompe
dans le côté du drawer,
et puis je pense que les gens
vont passer à la route de la lait,
mais le contenu de la page,
comme un feed Twitter,
peut-être que ça
déjà ressemble à la même route
sur web et native.
Et puis il y aura probablement
d'autres places, peut-être des aspects
de votre date de faîche, qui
sera forked un peu en comportement,
mais déjà, ce n'est pas
ça. Si vous pensez que votre
serveur est universal,
je pense que ça serait mignon
si vous pouvez, en quelques cas, forker
votre logic de serveur,
pour des choses comme le render de
votre liste, peut-être que vous avez
des compagnons dans le liste,
qui ont changé par la plate-forme
qui a fait la réquestion
à ce point.
Je pense que
c'est un exemple crude, mais
comme le chatGPT, quand vous utilisez le chatGPT sur mobile,
ça a un different prompt que le web mobile,
c'est comme, vous êtes sur mobile,
donc votre réponse est très vite,
et snappy, et facile, et ça ne
ne fait pas de copie et de paste, des choses comme ça.
Donc peut-être que vous pouvez
scalez ce concept-là
pour comment les compagnons sont rendus.
Ils sont plus petits ou plus vite,
ou c'est un devise native, donc peut-être que le
vidéo est plus définitive.
Ou quelque chose comme ça.
C'est une des choses qui
était très élevé,
très en train d'être très plus en train de
utiliser le React Native, c'est que
le fait d'enlever un tout à l'heure,
n'est pas
en un bon sens.
C'est comme, bien sûr, le Web React Native
existe et a été un peu plus
plus bon que ça.
Et vous pouvez en faire un
et en partager des plateformes.
Mais je pense que le
valeur ici est souvent
que vous travaillez en
une technologie familiale
des plateformes, et ça
en fait, ça donne beaucoup de valeur
vers
tenter de partager tout.
Je suis sûr que la histoire est
beaucoup plus proche, mais
à RTC, nous avons went through
un peu de pain en tentant
de partager
beaucoup de components.
Nous avons ultimement
seulement un système de design
qui était shared
par le Web Mobile, et
puis, en fin de la fin,
ils ont expliqué le système de design.
Donc, même ça a été expliqué.
Et puis, ils en faisaient
des tokens de design,
qu'ils en ont utilisé.
Mais c'est un problème difficile,
c'est un problème difficile
de partager comme vous pouvez
entre ces plateformes.
C'est une belle observation.
Je pense que l'une de les
people de Fre astronomers
les compagnies se sont moins de priorité de partager.
Avec React Native, ce qui était cool c'est que vous pouvez partager React,
comme le manager de l'Etat et la partie de l'component.
Ce qui a fallu pour le JSX n'était pas shared.
Et je pense que React Native Web a été créé,
comme le site Twitter est toujours créé en React Native Web.
Et ça a été long de ne pas se solver des codes,
comme de solver des issues avec la développement web
à la scale que beaucoup de choses se solvent de différentes manières.
Tailwind, par exemple, a fait des issues de la même style,
comme de la composition.
Quand vous avez créé un site,
c'est-à-dire quelques années plus tard,
il y avait beaucoup de globaux et beaucoup de choses qui se sont liées.
Et maintenant, ça a commencé à se faire plus tôt
et les choses ont été plus component base, plus encapsulées,
sans compromise trop sur les organomies de développement web.
Tailwind est un exemple très grand.
Ce qui est important de le dire,
React Native Web n'est probablement pas la direction long terme
de comment vous avez dû écrire des compagnies universel.
Pourquoi n'est-ce pas d'un div qui travaille sur iOS et Android ?
Pourquoi avez-vous besoin d'un view qui travaille sur le web ?
Avec React Native, vous devez avoir cette flexibilité,
mais je ne pense pas que construire un site avec React Native
signifie que vous devez utiliser ces compagnies
qui sont très primitives à la plateforme.
Je pense que vous devez pouvoir changer.
En fait, changer de JSX est probablement l'une des plus les plus easiest de changer.
En React, en React, en React Universal,
certains des choses plus difficiles à changer sont les bundles,
la pipeline de la pièce, la navigation, les patterns de la rendition.
Des choses comme ça, je pense que les problèmes
du React Universal sont historiquement déçus.
Ce sont les problèmes que nous focusons sur avec ExpoRouter.
Depuis que vous avez juste mentionné la bundle,
on peut peut-être faire un petit tour sur ceci.
Sur le web, vous avez beaucoup de différentes options pour bundler,
et il semble qu'il y a des options dans le passé à l'expo.
Mais un petit peu recently, vous avez décidé
de focuster juste sur les bundles de Metro.
Pour les gens qui ne savent pas ce que le bundle de Metro est,
et pourquoi vous choisissez de l'adapter au projet?
C'est une histoire très intéressante,
ou bien pas dépendant de comment vous vous sentez sur les bundles.
Metro est le bundle que META développe.
C'est un source ouvert, et il est en train d'avoir des problèmes
que META a eu internally.
Par exemple, ils utilisent Metro
pour développer l'app Facebook,
qui utilise React Native.
Il y a des problèmes que ils font avec scale,
en travaillant entre les équipes,
et en intégrant avec Monorepo.
Donc leur bundle est, ou bien-être,
un peu très foreign,
et c'est une technique pour comment tout le monde travaille.
Avec React Native, ils ont toujours utilisé Metro.
Et les bundles de switcher,
qui j'ai déjà essayé de l'inquiétude,
sont très rigolores.
Fondament, l'une des raisons
pourquoi c'est très rigolore,
c'est que Metro a des techniques
comme la bundle de la laze,
et tout est très incrementale.
Tout le fil, tout le point,
peut être un point d'entrée
pour les bundles.
Vous pouvez passer à un fil,
et ça va traverser la laze tout le temps,
et retourner à tout ce qu'il faut.
Il y a un casque très agressif,
qui fait que les plugins sont très difficiles
à faire, mais ça le fait très vite.
Et ça aussi
signifie que vous pouvez avoir des casques sharedes.
Vous pouvez prendre ces artifacts,
vous pouvez les remborder à chaque machine,
et dans un contexte,
vous pouvez les remborder à chaque machine.
C'est comme ce que les AirBnB et META
utilisent.
Ils ont un cron-jol qui se tourne
contre le code, et ils se bundlent
et ils vérifient les artifacts
de la laze, comme ils en ont développé.
Il y a des techniques très intéressantes.
En fait,
le seul bundle,
qui est assez similaire,
ou je pense que le bundle qui est le plus similaire
est le nouveau bundle de turbo,
qui est de la Vercel.
Il a beaucoup de technologies
qui sont très
très familières
à META.
META, internement, a un bundle
qui s'appelle HACE, et METRO
a beaucoup d'inspiration.
Le turbo aussi a des noix
de la Vercel.
Mais probablement la partie
plus importante de METRO
pour nous,
est que, en arrivant avec X4 Router,
et ce que j'ai voulu
faire,
c'était de
faire un truc très important
qui était l'obligation
de bundler le code de service
et de client,
qui était très similitaire,
ou l'obligation de l'orchestrer
très bien ensemble.
METRO,
c'est un très important
web bundle,
qui est un grapho multidimensional.
C'est
un des ressources
entre des critères différents,
des critères différents pour bundler.
METRO a
bundlé l'IOS et l'Android
en même temps,
mais ça peut être utilisé
bien pour le service et le client
en même temps.
Et quand vous considérez
comment
les components de service sont bundlés,
qui requiert de multiples passes
en regardant le service et le client,
qui a été créé en créant le manifest,
pour pouvoir combiner un grapho multidimensional
pour commencer avec le service
et puis,
de la spiking en faisant le client,
et puis de la récouragement
en faisant ça dans de nombreux de nombreux de nombreux de la manière différente.
METRO est vraiment
très bon pour ça.
Donc, en essayant de faire un tour de l'application,
on a décidé de
bucler.
Nous savions que nous devions aussi construire un ton de features bundlées
pour faire des works d'experts.
Les works d'experts sont primairement
un projet bundler-driven.
Donc,
nous avons décidé de construire un peu de choses,
et nous avons traduit, ok, nous allons construire un ton de features bundlées,
mais nous allons avoir le grapho multidimensional
pour être libre.
Ça a été bien.
Quand nous
faisons un bundle incrementaire,
nous avons un bundle incrementaire
en partant d'experts.
C'est un futur expérimentaire.
Nous avons travaillé avec la META,
et c'est pourquoi nous avons"?



dans un genre d'in aprendie.


mais on saודise à uneемонop hardware,
et on envoie le
deployement de la façon actionnante,
la Semi-T Pathination.
pour être plus incrementale et plus léger sur ces choses,
faire moins d'assumptions sur la forme finale.
Surtout quand vous avez une app comme large, comme Facebook.
Oui, oui.
Et en fait, je pense que la fédération modular, en de nombreux moyens,
tient à se résoudre de nombreux problèmes,
comme les fédérations webpacks,
où vous pouvez travailler entre différents équipes
et vous vous faites seulement les partages de l'app
que vous voulez travailler sur.
Vous allez définir ce que cette partie de l'app est.
Et avec Metro, vous pouvez définir cela par avoir des boundaries importe
et puis le bundler va arrêter de croire quand il y a ces boundaries.
Donc, si la structure de votre app est comme ça,
que vous avez une équipe qui travaille sur le search
et une équipe qui travaille sur le feed et des profils,
vous avez naturellement créé un modèle de fédération modular.
Si vous combinez cela avec le très compliqué cache,
où vous n'êtes automatiquement pas bundlé sur la page de search
par ne pas le visiter.
Oui, c'est comme si, en web,
on essaye de construire toutes ces choses,
comme ce que vous avez dit sur le module combiné,
comme j'ai dit, que Tobias est là et a dit la même chose
quand nous parlons de TurboPack.
C'est intéressant de voir la même chose
développée dans les deux différents secteurs de l'univers.
La chose qui me déstande sur Expo,
que je suis en train de faire,
c'est que vous vous êtes tous en train de adapter
un peu de choses web dans le monde natif.
La chose qui me déstande sur le CSS,
comme il n'y a pas de CSS sur la plateforme natale,
comment vous avez fait ça et comment vous pouvez le faire?
Oui, la support de la CSS en Expo,
comme la support officielle, est web seulement.

Et il y a un moyen de l'utiliser sur le natif.
C'est un projet de communauté, en fait.
C'est développé par quelqu'un de mes équipes.
C'est une communauté, mais ce n'est pas une partie de la « bless workflow ».
Et le logic, c'est que si vous voulez...
Si vous voulez faire le travail de linking universal,
ce qui est vraiment important que nous les dégâchons
pour un nombre de raisons,
mais si vous voulez faire ça,
il faut être assez compétentif que les gens puissent construire les websites
avec Expo Router aussi.
Et si vous avez mis le CSS,
parce que le natif n'a pas le fait,
c'est un « no op ».
Il y a certaines zones où nous faisons
un moyen temporaire.
Peut-être que ce n'est pas un moyen de faire un « escape patch ».
Il y a des places où vous pouvez « escape patch »
et ajouter le CSS si vous soyez choisi.
C'est important que nous ayons tout ça.
Maintenant, nous n'avons pas de façon
de faire une génération statique pour les apps natifs,
mais vous pouvez faire une génération statique
pour votre site web.
Nous planons en temps que nous ajoutons
une génération statique pour les apps natifs.
Nous allons avoir un « state » utile par Q3.
Mais le CSS est similaire.
Nous avons un « CSS » et il y a un projet
qui est assez sweet, un projet de « native wind ».
Et ce qui fait que vous utilisez « tailwind » sur « native ».
C'est super, parce que quand vous utilisez le CSS
sur « web » ça ne fait rien.
C'est juste « tailwind » qui se tourne.
Vous savez, à l'écran de la box,
que c'est un « web » style en libraire

Vous ne vous inquiétez pas
si c'est un « web » qui va hamper
ma performance sur « web »
et un « performance » qui se passe beaucoup.
Le « native wind »
qui fonctionne internaement
a un « CSS » parcer.
Il parce le CSS en « native » style.
Mais il y a beaucoup de places
où le CSS ne fonctionne pas
sur « native »
ou au moins dans le contexte « react native »
Il y a beaucoup de choses qui sont « cascadées »
par exemple, ne fonctionnent pas
dans les styles de déclaration.
Donc, si vous pariez le CSS
parcer sur « native » avec « tailwind »
qui enforce beaucoup de la même
roulage que le « react native »
vous end up avec un système
qui est « CSS » sur « native »
Donc, ça fonctionne et ne fonctionne pas.
On peut peut-être ajouter le CSS
mais on a besoin d'une extension
qui indique que ça ne fonctionne pas
pas sur « cascadées »
qui est une partie très importante
de la extension de la CSS.
Et puis, le « native » est aussi cool
parce que l'un des problèmes
qu'on a avec le « static rendering »
est que, dans le « react native »
il n'y a pas de
« responsive » style.
Si vous avez « flex1 »
vous devez être « flexible »
mais vous n'avez pas de « media queries »
Donc, le moyen de vous faire
c'est d'adresser un « hook »
qui utilise les dimensions de la windows
et vous devez vérifier les dimensions de la windows
et changer les styles en matière de
des « dynamic hooks »
Mais vous ne pouvez pas utiliser
ce « static rendering »
parce que vous avez un « hydration »
Vous devez avoir une manière
de déclarer ce que le style
semble à plusieurs points différents.
« native »
vous donne une manière
de faire la déclaration
sur le web
et puis, derrière les scènes
vous devez la remplir
et vous devez
faire un « crazy »
C'est très cool, le « native »
est un « crazy » moyen
où vous ajoutez
les classenames
et vous interseyez le style
et vous injectez les « hooks »
pour les « rules » de « react »
mais ils existent
quand vous utilisez les « apps »
avec les « animations »
et avec les « light » et « dark »
C'est assez snappy
et snazzy
C'est un « good » primitive
On voit que les gens
construirent des « shad cn » type
et ils construisent le « native »
C'est un « good » « open source »
si il supporte
d'autres projets
on voit que les gens
construirent des « react »
c'est un « good » « react »
c'est un « good » « le gogo »
c'est intéressant de le voir
parce que dans l'an dernier
on a eu un « Christopher Shadowon »
et il a dit
« oh oui, on a voulu
faire le « CSS »
mais personne ne l'a pas demandé
donc on n'a pas fait
ça
et on a fait un « css »
« here we are »
oui, les gens
ont demandé pour plus de styles
en « react » et en « yoga »
nous travaillons
en ajoutant plus de styles « native »
pour « yoga »
c'est très drôle
parce que « yoga » est très populaire
même au niveau de la « react »
de la « component kit »
si vous regardez les apps
sur les apps
vous allez au « licenses »
« yoga » est là
donc ajouter et changer
les styles de défauts est très drôle
c'est la forme ultime
de changer les bouts de la bouche
pour sûr, « yoga » est un projet cool
il y a un « react »
rendu à la termine
un app « tui »
que j'ai utilisé pour un petit « all back »
et j'ai utilisé « yoga »
c'est assez cool
oui, c'est un projet
par Vincent Reimer
c'est assez cool
c'est appelé « react » « native » « DOM »
c'est un « react »
mais il y a « yoga »
dans un « webworker »
c'est très simile à ce que « Satori »
ou « Satori » aussi
rendu à « yoga » et « webworker »
pour faire les layouts
et ce que Vincent
pouvait faire avec ça
c'est créer des « wild » animations
où vous pourrez resserrer
parce que vous avez fait toutes les calculations
et vous pouvez animer
les choses basées sur ces layouts
c'est un projet cool
c'est assez cool
alors, nous sommes sur le sujet
des « tools »
« bridge »
« web » et « native »
on a commencé le call
c'est un « state »
« native » « tooling »
que j'ai utilisé pour le « web »
je suis curieux de ce genre de choses
que l'expos a été construit
et puis, pour parler
plus d'en general
il y a un grand « push »
pour ré-write beaucoup de choses en Rust
on a eu des gens de biomes
on a eu des autres folks
qui ont ré-write
des choses en Rust
on a eu Charlie Marsh
qui travaille sur un « Rust » tooling
je suis curieux
de ce que l'expos
fait en internait
et de ce que vous pensez
de l'expos en général
oui, on parle un peu
avant de parler de Rust
j'ai mentionné que l'expos
avec notre « flavor of metro »
utilise le « lightning css »
pour le « css parsing »
qui est une très façade, une façade
de l'engin de l'engin
je vous recommande de voir
cette libraille
vous avez déjà utilisé
je pense que tout le monde a eu des « lightning »
en quelque capacité
et
on utilise
« babel » pour
un nombre de « transpolations »
on l'a vraiment l'air
casser dans le « bundler »
et nous avons aussi
la « metro »
est très simile à un « gest »
beaucoup des « components » qui font des « metro »
sont très similes aux « components » qui font des « gest »
et donc le « gest » « worker »
est utilisé en « metro »
pour créer le « multithreading »
et donc
on a pu
offrir beaucoup de « AST »
je l'ai essayé
d'adverir le « SWC »
pour « REI Native » et
ce n'est pas trop trop
plus facile
et pas plus facile
et puis quand vous introduisiez « babel »
parce que généralement
vous voulez avoir un « AST » pour
modules qui ne changent pas
comme les modules de « node »
et puis vous utilisez « babel » pour
vos codes d'application
pour que les utilisateurs puissent être
expressifs et plus facilement
pour transformer leur code
et quand vous introduisiez
cela, les « savings » sont
plutôt pas superpositive
puis
sur l'autre côté de la « coin »
il y a « bun »
« jared summoner » est un « legend »
et
si vous utilisez « bun » vous faites
저�bt
ou bought
si vous avez l'ette
ou il y pas
supplements
ou
si vous utilisez « cQN mucho
que 번 Launch Dr





et ça commence en un second,
parce que tout le temps de construction est fait.
Et l'estat de Hermes se met encore plus loin,
où il combine un langage type avec la compilation.
Et par utiliser les types,
donc je pense que le plus important est la flow de la stabilisation,
mais personnellement, vous pouvez aussi utiliser le type.
Vous pouvez générer des codes machine de l'envers de l'envers de la JavaScript.
Et ça va être utilisé avec Ragnatif dans le futur,
où une partie de votre app peut être compilée
à la code machine de l'envers de la JavaScript.
Et puis vous pouvez juste écrire le code native directement avec la JavaScript.
La performance va être incroyable.
Je souhaite peut-être plus de gens dans la communauté de la JavaScript
qui ont mis en place cette direction
de utiliser les types en type,
parce que les types de la JavaScript sont assez facile à vendre pour beaucoup de gens,
et puis de obtenir des performances native.
Je pense que les versions de la JavaScript
compilées à la version de l'envers de la JavaScript
sont très intéressantes.
Vous pouvez faire un subset limité et avoir des choses très puissantes.
Mais, d'ailleurs,
la team de la météorisation est assez bien.
Ils sont en train de faire beaucoup de choses.
Je me souviens si l'on a des trucs de Static Hermes
qui sont venus de...
Je ne me souviens pas de ce projet que META a travaillé
pendant quelques années,
qui a fait un exercice de la JavaScript
pour simplifier les trucs.
C'est un projet que META a travaillé
pour optimiser...
Préconstructer quelque chose?
Prépacker.
Oui.
Je me souviens si l'on a des recherches de Prépack
qui sont venus de Static Hermes
ou si ils ont une approche très différente.
Oui.
C'est une question intéressante.
Vous avez de la même question
des idées de META
qui sont fondamentaux
d'autres idées
qui sont parfois tricolées
dans le space.
Avec METRO,
les modules de mode de mode sont transpilés
comme des codes d'application.
Ils sont réellement en cash pour
les trouver.
Les driving-divers ne utilisent pas les modules de mode.
Ils ont des modules de mode haisté
et des modules de mode
et les codes sont de la même manière

Vous voyez des dégrés
de l'influence dans d'autres outils.
Oui.
Je pense que, en tant que c'est
un peu de travail
sur une plateforme pour faire des codes de performance
et vous pouvez définir
les codes non-performables en tant que language
que vous avez écrit.
Pour la recue de config,
on utilise le choux-crace.
C'est comme un forc de Babel
qui est écrit en type script
et c'est
super performant
pour transpiler un couple de files.
C'est l'une des meilleures options qu'il peut trouver.
Plus vite que tout le monde
dans le marché.
Interessant.
J'ai toujours été sur JavaScript.
Mais en parlant de choses qui ne sont pas
pas très JavaScript,
j'ai vu quelque chose de la génération
continueuse.
C'est la génération native.
Si vous avez un blog, vous avez l'air de l'enfer.
Qu'est-ce que c'est?
Oui, c'est une question
de génération continueuse.
C'est un processus
et un workflow.
C'est une idée.
C'est un cng.
Il peut y avoir
différentes implementations de cng.
La implementation de cng
est expo prebilled.
Vous pouvez penser d'un bundler
pour des codes native.
D'après
l'inside
de votre configuration,
que
quand vous l'enfer,
vous allez générer les iOS et Android
ou les plateformes de plateformes
qui ont un temps native.
C'est un des projets
plus populaires.
C'est un peu fondamental de comment l'expo
fonctionne.
Si vous
avez
un camp de camp,
une caméra native,
vous avez le command
de la commande de la génération continueuse.
Ce
libéral indique
que vous avez besoin de la permission
de cette caméra,
et que vous avez besoin de la dépendance extra.
Vous avez des changements de file.
Vous avez les instructions
de toutes les packages.
C'est un des problèmes
fondamentaux de la génération native.
Le plus grand
de la génération, historiquement,
a toujours été de l'augmentation.
C'est probablement ce que les gens ont fait
depuis le début de la génération native.
À un moment,
on a créé un nouveau projet
et on a copié leur code
dans ce nouveau projet.
Et on a réveillé ça.
C'est vraiment
très bien travaillé pour beaucoup de gens.
C&G est un
democratisé
et organisé pour l'organisation
de ce processus.
On le trouve
très bien travaillé.
Surtout en temps,
votre projet est plus grand et plus grand.
Quand vous voulez un projet uninstallé,
et que vous avez toutes ces extra-dépendances,
vous créez des processus
d'orphins,

vous ajoutez la permission de la caméra,
mais peut-être vous ajoutez un autre library,
qui aussi a la permission de la caméra.
Et ça sera
un overlap et vous ne vous souviendrez pas
de tout.
Avec C&G, tout cela se dénue
parce que vous vous avez le tout
et la seule chose qui peut être ajoutée
est le code qui existe
dans votre projet.
Ce qui vous permet de vous faire
est de vous faire focus
sur un app javascript
à la fois de la période.
Vous vous demandez d'autres temps,
en pensant sur les plugins
qui généralement
ont des représentations
de la file native,
et qui interagent avec d'autres plugins.
Ce qui est bien, c'est que
les plugins de config peuvent être unit testés.
Si vous pensez à un library native
qui a 50 sépaires,
ou un library native qui a 50 sépaires,
c'est comme
avec le plugin de config, vous pouvez
continuer de tester, et de tester
ces sépaires et d'assurer qu'ils ne sont pas toujours en train de travailler.
C'est comme la primaire.
Maintenant, c'est en train de se mettre
plus loin.
Les gens utilisent cng
pour construire
l'impact de ce que le réact native est normalement utilisé pour.
Il y a quelqu'un qui m'a envoyé une idée
ce matin, qui était
qu'ils ont utilisé un bunch de plugins de config
que je fais dans mon temps de spare.
Un ajoute
des settings à l'app
et des appels,
des widgets de la salle,
des actions qui sont vite
utilisées.
Les autres deux sont plutôt utiles
mais Apple
récente vous si vous utilisez beaucoup de leurs features.
Ils
scannent ces choses statiquement
et
n'ont rien à l'incentive d'Apple.
Mais
il y a des postes qui disent
que si vous voulez être recommandé pour les postes editoriaux
qui sont en train de vous envoyer
plus de leurs features, vous serez
en train de vous envoyer un

Les features
ne sont pas super utiles.
L'adresse
d'application
augmente la complexité de votre projet
qui
s'arrête le bâtiment
et qui fait que c'est plus difficile
de travailler sur des features qui
font partie du travail.
C'est donc un plugin de config
qui est facile à ajouter,
et quand vous ajoutez
des features comme ça,
ce n'est pas un projet de complexité
qui est représenté par JSON.
C'est
une technologie fantastique
et
on est vraiment excité à comment
cela a été travaillé.
Quand nous avons écrit
cela,
nous n'avons pas d'idée
que cela devrait travailler.
C'est génial.
Dans tous les centaines,
nous avons fait specification
un devoteur deplan déchiré
et on rède
avant de marker ça.
Nous avons
aquilo qui est
quería plus
que ce que l'on我說ure.




ou on peut faire un développement universal en fait.
C'est une expérience incroyable.
C'est énorme, c'est énorme.
Oui, c'est un puzzle important.
Je recommande beaucoup de gens à utiliser le code
si ils ont mis le code en gratin et pas encore élevé.
Est-ce que c'est essentiellement ce qui fait que ce soit possible
pour moi comme personne qui développe X-Po to Never Open X Code ?
C'est partie de ça, oui.
La autre partie est l'EAS Build,
qui est notre service Cloud Build.
L'EAS Build a deux pièces.
L'une est le service Cloud Build et l'autre est l'application de code.
La partie de code,
qui aussi intégrate le code avec la implementation de CNG.
Si vous avez un widget et un app,
et si vous utilisez des services de paie,
comme les idées de merchant,
ça va synchroniser tous les idées avec Apple.
Si les idées ne sont pas synchronisées,
quand vous faites votre build, ça va falloir.
Nous avons évoqué l'authentication,
ce qui est assez fort,
car comme les app scales et la complexité,
le code signé est automatiquement avec les idées.
L'EAS Build, vous pouvez construire dans le Cloud.
Si vous avez un équipe,
vous pouvez provisioner l'app pour l'équipe,
le code signé pour différents devises,
le re-signé pour différents devises
sans avoir rébuildé,
et puis le downloader.
Ce sont les pièces qui créent un flow
où vous pouvez fonctionner sans Xcode Android Studio.
Un peu de gens ont eu un bon succès avec ça.
Mais si vous voulez les plus avancés,
vous allez pouvoir utiliser Xcode Android Studio.
C'est une conception de réacteur,
c'est pour un développement plus facile.
C'est un peu plus facile.
Mais en réalité, c'est pour un développement plus fort
et plus facile.
C'est très similaire.
Quand vous étiez en développement web,
j'ai l'impression que mes filles et mes filles
ont étudié le développement web.
Je me dis que vous allez apprendre à réact.
Elle me dit où je vais trouver réact.
Je lui ai dit que je vais vous mettre
sur des choses HTML, CSS, etc.
Vous étiez en train de apprendre des bases.
Et ensuite, vous vous ajoutez sur le réact.
Maintenant,
je pense que,
comme le bar s'étend plus en plus,
c'est pour ressentir un sens de satisfaction
avec ce que vous avez développé,
que vous devez avoir des tools plus puissants.
Je pense que ce n'est pas super satisfait.
Si aujourd'hui,
à la fin du jour, vous avez un bleu écran.
Mais si à la fin du jour,
vous avez des clés et des images,
c'est un peu mieux.
La réagnation est...
La manière dont nous pensons à ce que nous développons,
c'est que c'est pour ces cas-là
des cas-là plus intense.
Et comment vous pouvez
vraiment passer le simple
de la réaction très facile,
le truc que les utilisateurs
espèrent être là,
et puis, en fonction de la délire,
de la expérience exceptionnelle.
Oui.
On parle un peu de
la code de la réaction sur les formes différentes,
d'autres que l'iPhone.
Il y a des autres formes de réaction
réagnées,
comme la vision réagnée.
Vous savez,
le potentiel de
la code pour les produits
de la nouvelle Apple,
les produits VR,
les produits AR.
Vous avez exploré les produits?
Oui.
Vous avez...
Non.
Vous avez acheté un Pro de vision?
4500$ après le taxation
est un peu trop prudent
d'être une mère plus jeune
sur cette chose, je pense.
Oui.
Oui, c'est expensif.
Qu'est-ce que vous?
Oui.
Mon raison là-bas
était que
chaque
dollar que j'ai currently
a été fait
à un moment dans ma vie.
J'ai mis mes mains
sur un des produits natifs
et a créé des apps natifs.
Donc, probablement,
ce serait un purchases raisonnable.
Mais même après,
je ne m'en avais pas appris.
C'était un erreur.
Ce n'est pas un problème.
Mais oui,
je pense que
c'est cool de avoir l'emploi expo
sur Vision.
Donc, je l'ai pour ça.
Est-ce que
l'emploi expo
pour expérer
à l'autre plate-formes?
Parce que je sais
qu'il y a des
windows de réactes
de Mac de réactes
comme
il y a peut-être
un watch de réactes
de réactes.
Oui.
Donc,
avec expo,
c'est un app natif
pour un app natif.
C'est un app natif
mais peut-être
quelque chose comme
Cordova
est
comme si vous êtes
dans un monde nouveau
de webvues
dans les appels.
Donc,
avec expo,
vous pouvez écrire
beaucoup de Swift
et beaucoup de Kotlin
comme vous voulez
pour vos plate-formes respectives
et vous pouvez écrire
expo
où vous avez besoin
dans l'app.
Donc,
si vous avez un app expo
vous pouvez aujourd'hui
vous vous
popper
là-bas
et écrire un target
VisionOS
et écrire
le part de Vision
et swip
si vous voulez.
Notre focus primaire
est sur
ce
histoire de développement mobile.
Vous savez,
le développement mobile
ou,
je suis en train de le dire,

fait de l'exemple
d'une hâte de consommation internet
et
je pense que
c'est vraiment important
que ce problème soit décédé
parce que
c'est incroyable
difficile de faire des apps natifs
et
ça ne devrait pas être.
Les gens ont
beaucoup à dire
et
faire des apps
c'est un
vraiment important
de dire des choses
pour beaucoup de gens.
Avec
les appels de vices
ils utilisent
ces chips de M
ils utilisent
les M1, M2, M3
et
ceux-ci
peuvent tous
soutenir
la plateforme
dans une
capacité de vente
n'est pas
encore
bête
mais
si vous pensez
à la time
ça nous prend
la complexité
afin de
mettre
les plateformes natives
sans
la mchip
alors
je pense
que
à ce moment
la mchip
la plateforme
serait
donc
les appels
sont en train de
aller
dans les
directions des vices
où vous pouvez
allez









c'est un benefit de React Native, right?
VisionOS, c'est comme ça, avec ces nouveaux prématives.
C'est ce bouton qui est assez bruyant et qui a cet effectu de l'effet de wild shimmer.
Si vous avez utilisé Cordova, vous devez réimplier ça en CSS.
Avec React Native, vous faites un binding
pour le bouton de l'app au lieu de l'app.
C'est assez optimisé pour les plateformes de sélection.
La main de l'expo, c'est en général sur les smartphones mobile.
La main de l'expo qui ne nous apporte pas est Windows, les Windows native.
Si on l'a, je pense que ça touche à chaque plateforme.
Vous pouvez currently déployer votre expo à Mac avec des devices M1.
Vous avez vu le travail que l'Ark browser est en train de porter?
Le Ark browser avec Swift? Oui, je l'ai vu.
Oui, avec les Windows Swift.
C'est un autre des choses de l'un des nouveaux mondes.
L'expo peut être pensé à des netflix.
Il y a une version réfinie pour ces plateformes individuelles.
A aucun point est l'expo, comme l'expo de l'expo,
qui est le thème de la plateforme.
Il y a des paradigmes qui travaillent sur les plateformes de React.
Ce sont des choses qui sont universales.
Mais en termes de la language,
JavaScript se débrouille sur ces devices.
Les armes-chips ont des concessions pour le JavaScript.
Nous respectons les plateformes native
et les plateformes native pour ces plateformes.
Nous sommes tous les développeurs native.
Nous nous carenons très bien sur les plateformes.
Nous voulons l'expérience de l'expérience
de l'expérience native.
Le lien universitaire est un feature native.
La plateforme app est super native.
Un peu d'apps,
quand on link à la plateforme,
on apprend des app pour voir les plateformes
et voir les plateformes.
On va pouvoir swipir et tapir.
Or, c'est une poivret de l'orchestration.
C'est ce que toutes ces lentilles
appendSteak Nrd s'étendent à bouchons,
qui permettent de trouver des chevaillettements.
En particulier,
les plans僕 flancés canadienzlich sont créés en Ontario.
Même avec ce qui est la base USAOM disciples,

si nous avons thinkers,
avec tous cesatre bluetooth.
c'est le fait d'avoir un contact avec les services de service.
On a eu un Nate de Tom Agouillon,
il a eu une réaction visceral à des services de service.
Il est comme des apps mobile ou des apps locales.
C'est la façon dont ils devraient être.
Les services de service ne font pas de sens dans ce paradigme.
Est-ce que vous vous en faites le même ou vous pensez différemment ?
Oui, je ne pense pas.
En regardant les services de service,
spécifiquement sur les natifs,
je ne pense pas que les services de service
sont diametriquement opposés à l'application de l'offline.
Je pense que les services de service
jouent bien en offline.
Si vous pensez à la réaction de services de service,
chaque component de service est rendu à la construction.
Et les compagnons vont indiquer
ce qu'ils sont en révalidation.
C'est comme si le service de service
était révélié par le service.
Mais par défaut, ils ont fait un temps de construction
et ont évoqué ce qu'il pourrait être en offline.
Si vous avez construit un app
qui était en offline,
et il y a très peu d'apps,
et les apps en offline
sont généralement des apps que l'applet va consommer,
pour les écosystèmes et le Sherlock.
Donc,
dans les cas où vous avez des contenus en offline,
ça peut faire sens
de la rendre plus près de l'application.
Et ça tient vraiment bien avec OTA.
OTA est probablement une des raisons
de la réaction de la service.
C'est l'obligation de la code
qui orchestrera la code native
qui est déjà sur le device,
sur l'air.
Et ça fait partie de l'application
de la code native
qui est déjà sur le browser
et le JavaScript est comme sur le web.
Mais c'est très réfin
pour le browser.
Et l'offline est vraiment intéressant
dans ce contexte
parce que sur l'offline,
sur le web, vous pouvez utiliser les travailleurs de service.
Et les travailleurs de service
sont tellement
difficile à utiliser
que c'est presque dangereux
d'utiliser.
Si ils sont agressifs
vous ne pouvez pas
faire des fixes et vous vous allez avoir
des contacts et des supportants.
Ils vont dire que pourquoi pas mon URL
et pas l'update.
Et puis,
vous pouvez écrire votre browser
avec un app native.
Vous pouvez effectivement avoir
l'application de la même service
parce que si vous avez
l'issue où les choses étaient agressifs
vous pouvez juste mettre un nouveau binary
au bout de la porte et vous allez
écrire le cash. Vous avez ce mécanisme
sur le web, c'est l'équivalent de vous,
si vous pouvez mettre un application de web
qui est un Chrome,
et c'est pas un truc.
Je pense que nous avons
des travailleurs de service
pour faire l'offline
bien.
Et
je ne pense pas que les travailleurs de service
ne vont vraiment pas cacher.
Je pense que les travailleurs de service sont vraiment fantastiques
et non-reignatives.
Je pense que
c'était peut-être le premier prototype public
de la service. J'ai un vidéo sur ça.
Et
c'était le contexte
que quelqu'un a dit que ça ne peut pas être
fait. Et je lui ai dit
que c'est possible.
Et
j'ai fait beaucoup plus de ça
recentement. Et les résultats sont
fantastiques.
Incroyable.
Les choses que vous pouvez faire
avec des travailleurs de service sur native
vont être
des choses comme
la génération statique.
Si vous pensez à la file de
RSC,
beaucoup de cela fonctionne mieux pour native
que pour web.
Parce que
sur web, on a toujours des questions
sur comment la HTML arrive.
Et la réponse est que vous avez un extra
rendeur sur le top de la renderer
que la rsc s'occupe de la HTML.
Donc la rsc peut être
pensée comme native HTML.
Et si le browser
supportait la file de rsc
directement, vous n'aurez pas besoin de la HTML.
Donc si vous pensez à la
app native, être le browser,
si vous pouvez le faire,
vous pouvez le faire loader directement
dans les files rsc. Et puis vous pouvez
créer des choses où le UI
peut se montrer avant la JavaScript est
bloquée.
Ou vous pouvez
compter des
components complexes
sur Build Time ou sur le server.
Maintenant, nous n'avons vraiment pas de mécanisme
pour faire Build Time
pour la génération statique pour les apps native.
Donc si vous avez
des gradients et des
choses où les props sont
compétus en runtime,
vous avez toujours de la faute
même si ils ne changent pas.
Un exemple est probablement le Markdown.
Le Markdown a beaucoup de rues.
Si c'est le premier, le 1er,
le padding doit être plus grand
que si c'est le 2er, le 1er.
Et tous ces rues sont juste
sur le device de l'utilisation
quand ils sont loadés sur le
Markdown.
Avec les components de service, vous pouvez
compter toutes ces rues
en même temps que vous pouvez les compter
dans un état de séparation
dans le même device.
Je pense que beaucoup de problèmes
que les gens ont eu
ont peut-être été
d'une particularité
de components de service
plutôt que de components de service.
C'est
extrêmement difficile de
l'implémenter. Il n'y a pas
de documentation.
Même si je parle d'un
métal qui travaille
sur le React,
c'est toujours très
difficile de figure out
comment cela fonctionne.
Il y a des
opinions
qui se sont éprouvées
entre React
et la particularité
d'implémentation
qui existe.
Ce que j'ai rencontré
hier-bas, c'est
que je n'ai pas
utilisé des components de service
avec des components de service.
Je n'ai pas eu de l'idée.
Je n'ai jamais vu cela éprouvé
de l'autre côté.
Je n'ai pas
écrit beaucoup de choses.
Le problème que vous avez
est vraiment confusé.
Vous voulez balancez
l'erreur de l'aéroport
avec l'erreur de l'EU
parce que l'erreur de l'EU
est bien.
Vous pouvez pas utiliser l'EU
parce que ça n'existe pas.
Vous avez un pass AST
et le pass AST
et vous avez
une interface

simétrique.
Tout cela est
l'implémentation
et les erreurs.
Je pense que dans le contexte de l'UX,
l'expérience de l'utilisation
et la réfinition de l'expérience de l'experte
vont être
incroyable.
Il y a beaucoup de nouvelles outils
dans votre outil.
C'est juste le type de l'Eisberg.
Je ne peux pas
dire assez comment j'ai été excité pour cette technologie.
Je ne pense pas que ça va
vraiment se passer en façon de l'offline-first.
Je pense que l'offline-first
est une façon dont vous pouvez penser
que l'offline-first est un type de UIs

Avant que vous faites un net request,
faites quelque chose local et l'émerge.
Je pense que la implementation
de la surface des components que les gens
ont vu est
très
tout le monde s'est fait
sur le service-first.
Il n'y a pas de la surface-first.
Même la navigation de la surface
ne semble pas
être optimale pour le web
où vous êtes toujours en ligne.
Mais
si vous avez un grand root
de la surface-first
et que ça représente tous vos routes,
et que vous avez fait ce que l'on a fait
avec la navigation clientielle
et que ça ne peut pas être possible
et que vous n'aurez pas pu
couper toutes les
interactions de service
si vous voulez.
Je peux voir comment les gens
ont été dans ce lieu
par rapport à ce qu'ils ont currently vu.
Je pense que c'est une des technologies
intéressantes.
Je parle de Christopher dans le dernier épisode.
Il me rappelle un peu
de JSX quand les gens parlent de JSX
et ils répondent
qu'il y a un grand nombre de gens
qui disent que
c'est un bon concept.
Il y a des principes
fondamentaux.
Il y a un concept
qui permet de faire
un bon concept.
Je pense que
le challenge avec RSE
est un grand nombre
d'idées.
Mais c'est aussi complexe
d'y communiquer.
Il y a des
des choses qui sont
fondamentales
et qui sont construites
dans le service.
Ils sont
construits à la construction
et à un autre computer
que votre computer.
Je pense
que le nom est un peu
un peu misnombre.
Il se trouve
que c'est un service
qui est
un peu
intéressant de voir
comment ça se dévalle
et les changements de langue.
Des documentations
et des choses différentes
vont se passer de longues manières.
Je les appelle
des components serriels.
Je parle de components serriels.
Je dois
les retrainer avant de parler de leur service.
Mais quand je pense
que c'est un component serriel
parce que
c'est la serialisation
de vos components.
Mais aussi,
je ne suis pas
pas sûr de leurs components
parce que c'est un peu plus positif.
Mais il y a des réactivités
avec des boundaries clientes.
Les components serriels sont
interactifs et
ont un état.
Je pense que c'est un peu bizarre
pour le réact.
Il serait possible
que vous aurez des réactivités
avec le réact.
Je pense aussi qu'il y a des
rèvées de la chmr.
Ce n'est pas aussi intuitif
comme quand tout est un component client.
Parce que vous avez le refresh
qui updates le component
et ça change le state
dans le component.
Mais avec le component service,
c'est un point de refraiement.
Le component root,
quand ça change,
ça doit être refresh.
Mais le component root
s'est effectué par un service action.
C'est un route API
qui roule dans un environnement
et qui réclame le service.
Mais,
les autres actions servantes
dans votre app
qui réclame le service,
sont les récits?
Le service de vos app
qui updates le service
dans un service action.
C'est difficile de dire.
Je pense que
ergonomiquement, il y a
des trucs drôles.
Mais,
pour le niveau bas
comme je suis, quand je suis en expo,
c'est très intéressant pour moi.
Les idées et le potentiel.
Et je pense aussi que
en beaucoup de ways, les components servants sont plus intéressants pour les natives
que ceux qui pourraient être pour les web.
Je pense que
beaucoup de
les stigmas qui sont comme,
tout peut déjà être rendu
sur le service.
Il y a déjà une représentation statique.
On a déjà des données
et on peut déjà construire
une génération de temps statique.
Mais on ne peut pas faire
les choses sur les natives.
Pour pouvoir tout de suite
faire tout de suite,
c'est assez changeable.
Si vous
allez sur Google
et vous cherchez un service-driven UI,
vous allez voir
comment Lyft, Uber et
Shopify
ont eu leur implementation
à un certain niveau.
C'est un feature important.
Je pense que,
avec React Native,
si vous voulez réactivity,
vous pourrez payer le cost de la complexité
pour avoir réactivity sur native.
Un peu de ça a été
en train de se faire.
Vous avez réactivité
dans le plan native,
comme SwiftUI.
Mais si vous voulez
un service-driven UI,
React Native est le meilleur place
pour cela.
Vous avez un UI native,
vous avez un SwiftElements,
c'est tout ce que vous voulez.
Vous vous bindez à un primitive,
qui vous expose à la service.
C'est un service-driven JSX.
Et puis,
jsx
peut
orchestrer
ces components native
pour les instructions
pour être créées en temps de construction.
Je ne veux pas qu'on se dise que c'est créé en temps de construction.
Je veux que les compilers
puissent savoir que c'est créé en temps de construction.
Et ces parts,
je veux que ceux qui sont data-driven,
puissent réactiver.
Je veux que ceux qui ont des services,
puissent réactiver
dans le contexte de l'IOS ou d'Android app.
Et je veux que ceux qui soient versionnés,
aussi.
Donc, un peu de
des problèmes native
de la perspective fréquente,
qui sont solvés avec les components de service.
Je pense que c'est
un jeu de changement, un grand,
un monde tout à l'heure, très excitant.
Ça nous aide à la dernière question,
bien sûr.
On a toujours aimé
poser une question de la prochaine
question de l'un que la personne est
en train de se faire.
C'est après que je vous ai dit, un monde nouveau.
Oui, oui.
Qu'est-ce que vous pensez
que le futur de la développement de la plateforme de cross-platform
et de réacteur est?
J'ai vu beaucoup de fatigue réacte sur Internet.
Vous pensez que le réacteur va se passer?
Je pense que le futur
sera comme des components de service.
Je pense
que
beaucoup de mes
ressources sont en train de
faire la question de la plateforme de service.
Et en expérimentation,
l'expérimentation sera vraiment importante.
C'est déjà prudent de être
très important.
Je parle de mes gens,
de mes consultations, de mes agences.
Quand peut-on
utiliser un...
Il y a beaucoup de gens qui ont sorti
de la plateforme de service,
de la réacteur,
et puis ils ont joué les bénéfices
de la production de la plateforme.
Et maintenant, ils sont comme,
comment on peut faire ça pour une autre plateforme.
Donc,
on a
déjà la position
d'acquisition.
On a besoin de
déliver la plateforme en fait, et de
faire le bon travail.
En termes de fatigue réacte,
je pense que les gens sont peut-être
fiers de
les réactions particulières de réacteur.
C'est un grand
changement. Je suis super excité
de réacteur de l'exercice. Je pense que le réacteur de l'exercice
sera très grand,
j'ai hâte de le faire.
J'espère que mes esprits ne sont pas trop bas pour ça.
Mais, ils sont probablement.
Mais,
les memos sont
pas mon préféré. Je ne pense pas que j'ai
réellement écrit un memo correctement.
Je me suis dit que
j'ai appris de la
nouvelle chose à faire.
Je suis excité de ne pas
de les faire.
Je pense que beaucoup de gens
ont vu
ce potentiel en plus d'un moment.
Ils ont impliqué ça dans des frameworks
pour que les gens puissent
se déplacer un peu plus vite.
Les gens sont
en train de se faire
des choses.
Je pense que
il y a encore un dialogue.
Je pense que
quand la méda décide de réacteur,
ça sera très important.
Quand le service de la compagnie est arrivé,
j'étais au next compagnie.
Je me souviens de la mention
de dire que si ils avaient
plutôt un « should out, forget »
les gens seraient très hauts.
La réacteur était déjà un peu
compliquée.
Il y avait des solutions
plus réactives.
Ils étaient vraiment
compliqués.
Je pense que « forget »
a fait un peu de pègues.
Je pense que les éléments de service
sont très simplifiés.
Pas réacteurs, mais
les réacteurs de la compagnie.
Vous ne devez pas penser
que c'est un SSG ou un SSR
trop grand.
Vous pensez que c'est un update.
Je pense que
c'est un peu assez excitant.
Il y a des parts qui sont
prises statiquement, et d'autres.
Les parts sont prises sur le service
et sur la route.
C'est difficile de dire
quelle façon les choses vont avec la vision.
Si ça sera important.
Apple a été
collectant des patents pour la vision pro.
La première, c'était
17 ans auparavant.
Il y avait 5 000 patents.
Ils l'ont dit quand ils l'ont annoncé.
Il y a
des parts
de VR
qui sont importants.
Les autres
n'ont pas été
utilisés pour les
17 ans.
Ils ont été collectés.
Il y a une chance
d'être
computé.
On ne le sait pas.
On ne le sait pas.
On ne peut pas
essayer d'aller
des choses différentes.
Si ça arrive
et qu'on fait bien,
peut-être
ça se déterrisse
un peu
un peu.
La majorité
de la majorité de la majorité
va être sur le desktop.
Sur les devices natifs,
il y a 90 % d'usage internet
qui est
d'influence de la web.
Il y a des devices
des desktop.
Si Apple
l'a évoqué
sur la web,
c'est comme si ils l'ont fait sur iOS.
Ça fait un moment
de la stationnée
de desktop.
Vous pouvez les monitorer
et les gestures.
Si ça arrive,
on peut voir
plus
des mobiles natifs.
C'est comme si
le desktop natif
était là où
l'app secteur s'est fallu.
Ça peut être intéressant
ou pas de ça.
C'est trop expensant.
Mais
je suis content de l'inforter
et de réactiver les components.
Ce sont 3
des pièces de technologie.
Je ne pense pas que les gens
vont être trop élevés.
Astro est fantastique.
Vous avez utilisé Astro?
C'est génial.
Il y a des types de websites.
Il y a des websites web apps.
Astro
t'a pas besoin de website
pour le contenu.
Il y a des moyens
de réactiver
ce mécanisme
vers le plus grand.
Il y a des fois
où vous n'avez pas de la faute.
Vous pouvez faire
des choses statiques avec Astro.
C'est assez slick et facile.
Ce n'est pas pour dire
que le réacte ne pourrait pas être
comme facile.
Mais je pense que
les gens pensent que
les Expo
sont les plus belles
pour les réacteurs.
Je pense que ça
s'applique aussi à le réacteur.
Je ne pense pas que c'est un grand deal,
mais je pense que
avec le réacteur,
les opinions du système de l'événement
et les opinions de la réactivité
sont les plus belles
pour le plus grand.
Je pense que le succès
de ce système
fait un très grand effort.
Je pense que Astro
va continuer à faire de très bonnes choses
et que je suis très excité pour ça.
Mais
c'est juste des websites.
L'un des choses qui m'excite
de la développement de la Née
c'est la façon dont vous pensez
dans les premières principes.
Vous pensez que
est-ce que le meilleur possible
que le système que je m'ai holdé
est capable de faire?
Avec Web,
vous êtes limité par des vendeurs browser
et des spécifications
qui sont fantastiques
pour différents types d'innovation.

quand vous achetez le Vision Pro
c'est juste comme ça que je pense.
L'un des choses que vous devez faire
c'est que vous mesurez votre tête
la forme et le size de votre tête
pour que ça se mette correctement.
Et pour faire ça,
ils vous envisent
un weblink.
Et ça ouvre un app clip.
Et ça a
l'access
aux caméras de la haute fédélité
sur le front de votre iPhone.
Et là, vous pouvez scanner votre tête
et ils savent
quelle dimension vous avez besoin
de votre tête.
Et je pense que c'est fantastique
que si vous êtes un développeur
vous pensez dans les premières principes.
Nous avons ces devises
et nous devons minimiser
l'amount de complains
et les retours que les gens peuvent faire.
Et c'est comme, comment pouvons-nous
résoudre ceci
pour les gens les plus?
Et si vous êtes
limité par les vendeurs browser
ou des app stores
que ces choses se font de la manière dont vous ne pouvez pas
juste construire le meilleur possible.
Et si vous ne pouvez pas construire le meilleur possible
et que c'est pas si excitant,
et que vous ne allez probablement pas
travailler trop vite, c'est un
bon moment pour vous.
Je suis vraiment content de travailler
et de travailler en app développement.
Je suis vraiment content
de voir le futur.
RSE semble une belle innovation
et React Forget ne peut pas venir bientôt.
Je ne veux pas que je fasse le callback
ou même de penser à quel callback
je fais.
Merci pour votre
épisode. C'était un peu
drôle. Je l'ai appris beaucoup
sur Expo et où il est passé
dans les dernières années.
Je suis content de voir ce que vous avez
fait.
Merci.
Je vous souhaite
un bon moment.
Je vous souhaite
un bon moment.
Merci.



Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

devtools.fm:DeveloperTools,OpenSource,SoftwareDevelopment

A podcast about developer tools and the people who make them. Join us as we embark on a journey to explore modern developer tooling and interview the people who make it possible. We love talking to the creators front-end frameworks (React, Solid, Svelte, Vue, Angular, etc), JavaScript and TypeScript runtimes (Node, Deno, Bun), Languages (Unison, Elixor, Rust, Zig), web tech (WASM, Web Containers, WebGPU, WebGL), database providers (Turso, Planetscale, Supabase, EdgeDB), and platforms (SST, AWS, Vercel, Netlify, Fly.io).
Tags
Card title

Lien du podcast

[{'term': 'Technology', 'label': None, 'scheme': 'http://www.itunes.com/'}]

Go somewhere