Zack Jackson - ByteDance, rspack, and the Future of Web Development
Durée: 56m39s
Date de sortie: 21/04/2025
This week we're once again joined by Zach Jackson, creator of Module Federation, and now core team member of ByteDance's rspack project. In this episode we talk about the bundler landscape, the future of web development, and how rspack is changing the game.
Episode sponsored By WorkOS (https://workos.com) and MailTrap (https://l.rw.rw/devtools_1)
Become a paid subscriber our patreon, spotify, or apple podcasts for the full episode.
- https://www.patreon.com/devtoolsfm
- https://podcasters.spotify.com/pod/show/devtoolsfm/subscribe
- https://podcasts.apple.com/us/podcast/devtools-fm/id1566647758
- https://www.youtube.com/@devtoolsfm/membership
Si quelqu'un construit un compiler qui produise le plus petit bundle,
ce serait probablement quand le bundle est en guerre.
Réguisant de ce que les développeurs pensent ou si ils disent
qu'ils aiment leur écosystème,
ça ne peut pas se faire si vous pouvez produire un payload de 50% moins.
Bonjour, bienvenue à DEMTOOLZ FM.
C'est un podcast sur les tools de développeurs et les gens qui font ça.
Je suis Andrew et je suis Justin.
Salut tout le monde, nous sommes vraiment excitées à avoir Zach Jackson
sur le podcast avec nous.
Zach, vous êtes sur l'épisode 30.
Nous sommes maintenant dans les 100s,
donc c'est un peu d'un moment.
Nous sommes so excités à vous avoir.
Nous savons qu'il y a beaucoup de choses qui ont changé avec vous.
Donc, précédemment, quand nous avons dépassé le RCT,
vous étiez en train de travailler à Lululemon,
et maintenant vous êtes en bithéon.
Et si quelqu'un veut aller voir l'épisode 30,
nous avons parlé beaucoup
de quelque chose d'intéressant que vous faites en temps,
et j'espère avoir des updates sur ça.
Mais avant de vous dépasser,
vous voulez que nous évoquions les listeners,
et vous dites les nouveaux listeners de votre côté,
et vous vous rendez à ces jours?
Oui, bien sûr.
Je suis un architecte infrarctique
à BiteBance,
et ce qui signifie
que je travaille sur un peu de nos tools d'infrastructure.
Donc, évidemment, la société est vraiment grande,
donc il y a un grand set de problèmes
qui n'est jamais terminé pour se présenter.
Et oui, et donc, on pense qu'on a un équipe
avec des membres de 60 membres
sur l'équipe d'infrastructure,
et donc il y a des membres de 60 membres.
Et sur l'infra,
on est assez proche de tout,
de construire des rômes custom,
des rômes custom,
des rômes custom,
ça vient de notre équipe de kernel,
des frameworks native,
des rendours pour des choses différentes,
des compilers,
évidemment, des frameworks JS,
et puis des autres,
des choses entre les tools
pour pouvoir les faire de la bête A à B.
Donc, oui,
c'est beaucoup de ce que je fais jour en jour,
c'est essentiellement ce que je fais toujours,
mais maintenant, à une scale beaucoup plus grande,
ce qui est assez bon,
c'est très bien,
et puis, oui,
évidemment, la fédération module
est très proche de mon coeur,
et, bien sûr,
j'ai été le grand-mère de la compagnie
qui est le plus grand user de cette fédération,
donc, ça a bien fonctionné.
Oui, c'est comme que la bête A a créé
beaucoup de choses différentes,
juste par le côté du côté,
il y a beaucoup d'innovation
en fonction de la tâche d'innovation,
et d'un type de tâche de la prochaine génération,
donc,
quand vous avez commencé,
à quel point vous attrapez à la compagnie,
et à quel point les projets que la compagnie vous a gravité
envers vous?
C'est...
Ok, donc je pense que
la chose que j'ai usually
regardé à la compagnie,
c'est que je suis toujours en train de faire un impact,
et je sais que c'est un mot d'exploitation
à ces jours,
mais généralement,
si je dois aller quelque part,
je suis juste en train de me battre
pour faire le coup, comme vous le faites,
c'est comme que j'ai été en train de faire un ingéniement product,
c'est que ce n'était pas un impact très high
assez, et je pense que
après un peu de temps, c'est aussi très dépendant
de la santé de l'organisation,
de la façon dont c'est enjoyable
de travailler sur le produit,
ce qui se passe.
Donc,
dans un endroit,
c'est très attentionné
à des changements de utilisateurs non-techniques,
qui peuvent être difficiles
de vraiment
faire des choses.
Je dirais que la main
qui m'attractait
était vraiment la taille des problèmes
qu'ils avaient, et le fact que
beaucoup de problèmes que ils étaient en train de regarder
étaient vraiment similaires aux choses que
j'avais été intéressé en solvant,
et je pense que, finalement,
c'était comme, ok,
quand je me suis regardé à l'opportunité,
et les numéros se sont dit,
ok, alors, on a des gens qui
utilisent ces choses, et on a
des problèmes
que vous pouvez avoir en solvant.
Et ça m'a vraiment
réglé en fin.
Mais comment ça a commencé,
c'est que la bête d'Ans had been after me
a couple times, et je
n'ai pas de remercie.
Évidemment, j'ai eu un call
avec le premier manager
d'infrastructure, et je ne sais pas
pourquoi je n'ai pas été là,
ou ce qui était le cas.
Mais, donc, ce n'est pas
ce qui se passe en,
en plus d'une année et un demi plus tard,
comment on a commencé
d'aller en train de
remplir les web packs
par S.T.Parser avec SWC
et une recherche
pour le faire vite.
Et évidemment, je n'ai pas
de russes à la fois, donc je suis
comme, hey, comment j'ai le russes
pour le JavaScript ?
La chose la plus basique,
c'est comment tu le fais
et comment tu le fais
et donc, je suis en train de
me faire un roussage
et quelqu'un
dit, hey, je peux m'aider
et on me fait un call
et on chat pour un petit peu
et il me bloque, et puis on va
aller en train de me faire un roussage
pour ne pas avoir
un problème
de pourquoi ça ne va pas
fonctionner.
Et
ce que je suis en train de
parler, c'est
le leader de RSPAC
et je ne sais pas
de temps en temps, donc on va
aller en train de me faire
faire vite
et puis, les choses ne sont pas
en train de mourir et peut-être
un week ou deux plus tard, il me
me démarre, je vais vous montrer
quelque chose.
Je vais vous donner un call
et je suis surpris, il y a un
truc qui a été travaillé, on a
porté le webpack
dans un roussage, qui est
très sceptical, j'ai
entendu cette chanson et j'ai
entendu la chanson et la chanson
beaucoup de temps avant, et
ma assumption en général est que
tu ne peux pas
faire ça
pour la surface de l'API
que ça vous donne, c'est pas
quelque chose que tu peux créer
pour faire vite et native, parce que je n'ai pas
vu quelque chose fait dans
les autres tools native
qui ont un API
sur par pour
quelque chose qui reste en JavaScript.
Il m'a
montré que c'est
les loaders et les plugins,
on ne le voit pas
comme webpack, c'est
leur écosystème sans problème.
Je pense que c'est
la main chose qui m'a
montré, c'est
pour tout mon involvement
dans le webpack, et
comment j'ai été un fan
de ça, et comment ça m'a
aidé ma vie, évidemment, quand le
webpack s'est posé, et c'est
comme, je me sens
que ça serait bien, et puis
sur le dessus, j'ai trouvé
qu'ils utilisent beaucoup de fédération
ici, donc c'est cool.
Je me suis dit que je vais travailler
déjà, juste en russant plus vite
et plus de constraints, parce
qu'on serait d'ailleurs, on a
le produit, donc, c'est
vraiment
ce qui m'a attracté, c'est cool. Il y a
vraiment de grands problèmes pour
se solver ici, que généralement, vous ne
ne pouvez pas vraiment se solver,
si vous avez des ressources
illimitées pour le faire.
C'est vraiment difficile de
venir, et, malheureusement,
parce que le company a
tant de produits et tant
de choses,
beaucoup de l'architecture tente de
être unifié. Donc, ça signifie
que vous avez besoin d'un tool qui va
pouvoir faire 200 différents
cas de business qui sont
très différents.
C'est cool, parce que
ce n'est pas un fragment et un
disjoint, comme vous le voyez
souvent, où les choses pop-up
autour de l'organisation pour que
ce soit le travail, ce qui est
tout de même bien, mais je pense
que c'est un des choses où
les économies de scale sont
vraiment de la santé, et j'aime
travailler dans les zones où la
économie de scale est utile.
Il y a beaucoup de choses qui
ont fait ça, je suis content d'y
travailler ici.
Merci beaucoup à WorkOS pour
sponsorir cet épisode de
DevTools.fm.
Si vous êtes construit en
SaaS et vous vous en faites
au marché, WorkOS vous donne
des features que les entreprises
attendent et le développement
peut travailler avec.
Ce qui s'est fait est que le module est
bien designé, vous n'avez pas
à utiliser tout à l'heure, vous
avez besoin de ce que vous avez besoin
et les APIs sont consistantes, les SDKs
couvrent toutes les langues, les
développeurs sont des les plus
meilleures.
Si vous vous en faites
avec des issues de la surface,
WorkOS a des solutions pour ça,
un pre-built admin portal,
une histoire de décision sécuritaire,
une vérification domainée et
un peu plus.
C'est construit pour vous, si vous vous en faites
dans votre première entreprise,
ou des features de complétation
avant la question de la question.
Si ça vous semble quelque chose,
check out WorkOS
et WorkOS.com.
On parle un peu de Webpack.
C'est comme ça,
pour un peu d'un moment,
à l'époque,
en tant que Twitter et Blue Sky,
un peu de compagnie,
beaucoup de gens en parlant
de VIT,
et de la forme
du système d'éco.
Il y a encore plein de compagnie
en utilisant Webpack,
des gens et des places
que j'ai vus, mais
je ne les ai pas entendus
en ce moment.
Je suis curieux,
mais
comment pensez-vous
que Webpack change
ce que vous faites
fresh et nouveau ?
Comment vous voyez
cela se passer dans le système d'éco ?
Je pense
que
je ne sais pas, je ne vois pas
deux catégories de
des outils,
d'hier,
et rien contre VIT,
juste dans sa forme,
je sais que c'est possible
de faire le travail pour beaucoup de
développeurs,
mais
je ne sais pas,
pourquoi ne ne pas
que J.S. n'utilise VIT,
pourquoi Webpack existe ?
Je ne vais pas tenter de le faire,
et peut-être que je n'ai pas
une longue pliée,
mais
si c'est le BL et l'IMDAL,
personne ne devrait être construit,
et ne sera pas en utilisant,
mais c'est pas,
et personne ne utilise la RA
pour construire ces trucs,
et il y a des cas de utilisation,
je pense que
VIT a
un moment très populaire,
et il s'est speculé
que la structure de la structure
ne se démarre pas
et que la solution soit compliquée.
Vous avez Webpack,
qui est en 1,
mais
vous avez
un Degree de PHD
en configurant Webpack
pour aller avec ça.
Et puis,
il y a quelque chose de comme un build de ES,
et c'est cool,
ici, c'est un API pour les hooks,
et ça ressemble bien,
parce que si vous voulez,
quand je pense que le build de ES,
je me suis toujours en train
de mettre ça comme, oh, je dois être fancier de Babel.
Je dois faire quelque chose
qui transforme les choses,
et qui le met en certain endroit, et c'est tout.
Un peu plus que l'ASWC,
mais
fancier de Babel.
Transpiler les choses,
packer les files, et vous allez.
Je ne sais pas, je vois
ce que VIT a fait,
et on a appris de ce que nous avons fait,
mais ils sont super successeurs,
parce que si vous n'avez pas utilisé Webpack,
c'était comme, either roll up,
or ES build,
or some kind of Frankenstein between the two,
et VIT a dit, ok,
et ils ont introduit un build pool.
Je ne pense pas que nous avons ça,
je ne sais pas,
je n'ai pas utilisé Webpack,
mais nous n'avons pas vraiment
quelque chose d'experience V-type
qui était juste à l'au-delà de l'utilisation.
C'est un plugin React, et ce n'est pas vous
configurant les loaders,
mais il y a un middleware
sur le tool instrumentant.
Je pense que ça a vraiment aidé
beaucoup en sa popularité,
parce que l'on se dit que le code
s'est réel, et aussi que c'était
plus rapide, parce que le build
s'est bundlé, et le build
s'est rendu en basse en java
et sur le world de tooling, c'était un
grand problème.
Je dirais que, sur le côté de la flippe,
ce n'est pas tout comme des rainbows
et je sais juste
que les bundles sont très
fortes, et que les utilisateurs
ne me disent pas,
donc je suis plus en train de
faire des choses qui ne sont pas
vraiment actuelles.
Mais
je pense que le grand problème
que nous pouvons tous comprendre est que
le développement versus la production
de la discrepancy.
C'est pas un problème super
mauvais, c'est quelque chose
qu'il peut travailler en sorte
d'être en sorte que ça ne s'est pas
impacté la communauté à un point
détrimental.
Le problème, c'est que je ne vois pas
beaucoup de gens en train de mettre
une company de 1,5 trillion
et d'y mettre en sorte que la
consistency soit bonne.
Et c'est quelque chose que je dirais
que Webpack a historiquement
fait bien, c'est une bonne intégrité
de l'artif, c'est vraiment
petit, ça supporte beaucoup de choses,
ça vous met à la place, et je pense
que quand vous regardez les tools que vous
voulez, quand vous êtes sur le bas
de la surface des problèmes,
quand vous êtes en,
c'est comme si vous étiez dans la
80-20, en la 80 vous avez
beaucoup d'options, mais en 20
vous n'avez pas beaucoup.
Si vous étiez le Next.js,
le Next.js ne peut pas juste utiliser
Zsvill, ou juste
use V.
Peut-être si vous réwrotez
un scratch, vous pouvez mettre
toutes les choses dans le site, mais ils
peuvent faire ça plus facile avec
TurboPack ou Webpack, pour faire
le rôle. Mais c'est aussi
un des plus sophisticated
de la buildmeats, où ils sont
faisant beaucoup plus de choses.
Je pense qu'il y a un
différence entre les markets
de la question que nous
regardons,
je dirais
que les tests sont
un tas d'acquirments, mais notre
marché de target est, évidemment,
tout le monde qui aime vous
n'a pas le droit de l'utiliser, mais
notre focus, primairement,
est comme la focus que nous avons
ici à la maison, qui est
OK, vous avez un business
de 400 billon d'euros, et tout le monde
utilise ces choses, et il faut
les dégâter, et les costs de
compute sont
comme, c'est à la point où
vous êtes en train de
faire l'ingénierie, plus
plus cher que la compute.
Donc, le C.I. en train de
faire ça, c'est un
peu plus cher que la
box, et si vous pouvez
faire ça, plus de l'intégrité
artifactuelle, et tout le
autre que vous voulez,
nous sommes en position
de ne pas faire ça.
Donc, j'ai l'impression que les
deux vivent de côté par côté,
ce qui est vraiment important
c'est de se faire
faire des rolls-downs, c'est
ce qui me fait
qu'il sera un peu plus
mal au point que%
ce demanded
d'être en train de faire des appels dans les bundles.
Donc, en fait, en faisant des devs en bundle comme toujours,
ils sont en train de faire des formes de webpack
pour le propriétaire, de webpack, de chenquant,
et d'un type de runtime pour ça.
Et je pense que c'est un bon mouvement,
parce que à la fin du jour, je pense que
l'idée de l'esm, je pense que tout le monde a essayé
de le faire pour un peu d'un moment,
et ça...
c'est...
Il y a des problèmes avec ça
qui ne sont pas nécessairement sur le papier.
C'est comme...
En faisant des choses en bundle,
c'est en train de faire de très bien
votre machine en mode incognito.
Mais, vas-y, vous allez avoir un machine d'usage
avec des extensions de 6 Chrome
et des barres de Bing,
vous vous souvenez de l'oldie
où vous avez des taux de vache.
Imaginez un browser avec ça.
Un browser avec des extensions de Chrome,
et si vous devez downloader
4 000 modules,
votre réseau n'est pas le problème.
C'est tout le junk qui se démarre
sur le client-device
que vous ne pouvez pas benchmarker
pour que ça soit en mode réel.
Je pense que...
beaucoup de ces choses sont en la bonne direction.
On a essayé de faire des choses diverses.
On pense que le mode de bundle serait bien,
et la raison pour laquelle on peut faire
beaucoup de ces choses est qu'on a des taux de vache
pour que l'on puisse faire plus de travail.
On peut bundle tout de même,
rapidement,
et faire de plus ou plus vite
comme un bundle,
juste parce que le russes
peut enlever la vitesse
où, si ça prend 300 milliseconds
pour commencer,
on ne peut pas vraiment le faire.
C'est à la point de le faire.
Je suis aussi excité pour nous de le faire,
parce que ça semble que tout le monde
dans le bundle est en train de se faire
pour que la vitesse soit la même
que les wars bundles
qui sont en train de se faire.
Je me sens que depuis les deux années,
c'est beaucoup de ce que c'est.
On sait bien bien
quelle est la vitesse plus rapide
et tout ça.
Maintenant, on parle de
ce que la partie 1 seconde
et la partie 600 milliseconds.
C'est sûr
qu'il y a encore 2 fois plus vite,
mais quand vous regardez
la app,
c'est une construction
de 15 000 modules.
Vous êtes en train de
réaliser
un issue de scale.
Mais si vous pouvez...
On a un qui est
de 50 000 modules.
Si je peux construire un product
de 50 000 modules et je peux construire
20 secondes,
ce serait probable
que le plus grand build
RSPEC a sur le marché.
Ce qui semble plus
acceptable
pour nous,
c'est d'avoir un build
d'une heure
ou plus.
Je pense que le focus
va commencer à changer
comme nous avons les tools
où c'est rapide.
Quand vous faites HMR,
si ça prend 100 secondes
vers 85 secondes,
personne ne le cares
à ce point.
Ça ne prend pas 15 secondes
pour voir l'update.
J'espère que la guerre de speed
change.
Mais je ne sais pas
ce qu'il y a
pour les bundles.
C'est un peu trop fort.
Mais c'est un peu fort.
pour le marché.
C'est comme ça que je vois
des choses.
Je pense qu'il y a un point
au marché pour 2
ou plus.
Et en même temps,
maintenant, c'est plus
qu'au système éco-écosystème
qu'on veut acheter.
Quels sont les parts
que vous voulez acheter?
Vite a une grande communauté
et un grand type de système éco-écosystème.
Et beaucoup de gens
n'aiment pas ça.
Mais il y a aussi des gens
qui
aiment la Webpack
type écosystème.
Mais, normalement,
cooker
était un המ� squat
de l'utilisation que les utilisateurs ont besoin.
Et puis c'est vraiment juste,
qu'est-ce que vous avez envie d'utiliser pour faire ce travail
ou ce que vous pouvez intégrer avec ce que vous voulez aussi.
Il y a beaucoup de choses à faire dans ce travail.
Donc, un des goleaux original des RSPAC
était juste pour être ce que nous allons mettre en place
sur les Webpack pour faire complètement soutenir l'API.
Ça marche dans le début, mais comme vous l'avez dit,
les nouvelles choses vont être en train de être renforcées.
Donc, ce que l'ASP a travaillé sur,
c'est des innovations sur les Webpack
plutôt que de faire en sorte de matcher l'API.
Ok, je pense qu'il faut aller un peu plus loin
pour faire un contexte sur pourquoi nous avons voulu cette route.
Donc, nous n'avons pas juste de faire un Webpack,
et c'était le plan.
C'était le dernier que nous avons fait.
Nous avons des pages et des documents.
Je pense qu'il y a quelque chose de fou.
Je pense que les gens de la biotechance,
ont travaillé sur tout le RUS Bundler,
et ils ont été acceptés par le Turbo Pack,
comme je le suis sûr.
Donc, les gens qui sont sur le marché,
dans un certain nombre de formes,
des histoires d'origine peuvent être traités
pour ce qu'on fait en travaillant ici.
Donc, il y a juste un ton de connaissance
en construisant ces RUS Bundlers.
Et, comme 60% des gens
qui ont commencé à travailler sur ces gens
ont peut-être été restés et ont pris le temps de faire ça.
Mais il y avait beaucoup de catalyseurs
qui étaient là,
en faisant des researchs bundles.
Donc, la grande chose que nous avons découvert,
c'est que les bundles ne sont pas vraiment comme ça.
Le problème est le design de l'API,
et comment ça vous intervient en arrivant.
Donc, quand nous avons commencé,
nous étions en train de dire
que la première version de RUS Pack
était en train de se rééter.
Et donc, à un moment donné,
nous étions en train de parler de GO Pack,
et ça va être écrit en GO.
Le problème avec GO, que nous avons trouvé,
c'est que ça ne fait pas bien avec les bindings à JS
avec des bindings très compliquées.
C'est surtout comme si vous avez un langage collecté
à un langage collecté à un langage,
et ça ne se plaît pas très bien.
Donc, nous avons regardé,
OK, nous allons regarder le reste de la version RUS.
Nous avons regardé les RUS,
et nous allons juste fixer
quelques problèmes que l'ES a encore.
Parce que c'était presque bon pour ce qu'on a besoin.
À la fois que nous étions juste construitant
nos apps links avec ça.
Nous avons besoin de...
C'était originalement appelé speedy.
Nous avons besoin d'une solution speedy
pour les links.
Et ça se dit que l'ES Build
peut presque faire le travail là-bas,
mais si nous pouvons juste fixer ces problèmes,
c'est parfait.
Ce que nous avons trouvé, c'est que
il y avait des plus grands défis
dans l'ES Build, par exemple.
Si on essaye de fixer les codes de la splitting,
si on fait que les codes sont plus clairs,
ou l'HMR,
il y a des défis architecturaux
qui ne font pas que ça,
c'est pas facile de mettre.
Le dev ne veut pas juste le mettre,
mais il semble être...
L'ита high is pouring
まぁ !
sur
мало
mais
Et peut-être que ça pourrait travailler.
Et alors, l'un de nos teams de infertifs a fini de construire, je ne sais pas si vous connaissez les farm.fe,
avez-vous entendu de ce bundle ?
Je pense que je devrais être sur la page avant.
Oui, farm.fe.
Donc, de toute façon, farm a commencé par ploi.
Donc, notre team de infertif a été split dans deux secteurs.
La première partie de la team de infertif était construite par RSPAC,
la deuxième partie de la team de infertif était construite par ploi.
Nous l'avions reordi, nous étions les compiliers de la team ensemble pour réduire la rédundance.
Et puis, je pense que le main-de-bien de ploi a laissé la compagnie et a réglé le farm,
qui était comme de tout le travail qu'ils ont fait à ploi,
qui a été paké et mis à l'aise.
Et de ce que j'ai compris par ploi, c'était que l'idée était d'avoir une sorte de vique compatible,
un API très rapide, et de se résoudre les problèmes que nous avons impactés par le plan.
Il n'y avait pas de monde à ce point, donc c'était la façon dont ils se souvient de la résolution.
Donc, on a écrit, je pense, peut-être cinq bundles en total, en regardant ce point.
La raison pour laquelle nous avons terminé par la webpack, c'est de la design des problèmes.
Nous pouvons l'extender ici et là, mais aussi, il y a des unknowns,
et des conditions de la race qui, en fait, nous font le risque de ne pas le voir.
Donc, ce que nous pensions, c'est que le plus évident que nous ferions,
c'est d'avoir un plan qui serait un peu plus compliqué,
et d'avoir un plan qui serait plus compliqué que de le faire,
et d'avoir un plan qui serait plus compliqué que de le faire,
et d'avoir un plan qui serait plus compliqué que de le faire,
et d'avoir un plan qui serait plus compliqué que de le faire,
et d'avoir un plan qui serait plus compliqué que de le faire,
et d'avoir un plan qui serait plus compliqué que de le faire,
et d'avoir un plan qui serait plus compliqué que de le faire,
et d'avoir un plan qui serait plus compliqué que de le faire,
ou de le faireield qu'act
Donc, des choses comme la caches de la caches de la function,
des caches que vous pouvez partager entre différents développeurs.
C'est quelque chose que nous sommes très intéressés à ce moment.
Je pense qu'on a déjà des codes de la function,
que vous pouvez changer les functions de la singleité des troncs.
Ce n'est pas super,
comme les gens ne voulaient pas de ces types de manusia,
mais c'est pour ça que vous pouvez faire un peu plus de graines de fine,
faire avec des choses de bien,
un able étrier ou de mettre en place desпрheres d'enfant,
il y a des squands, des auxquels on aWOOX entraîné l'inf vimos dans laQUEM
Donc, vous savez, comme construire le whole module graphique,
contrôler potentiellement trois à quatre layers de votre stack de déploie,
mais c'est compris comme un single system pour le temps de rent.
Donc, ce sont des choses que le TurboPack a aussi été travaillé.
Ce que je dirais probablement, c'est que beaucoup de choses de la future
que nous considérons vont être, nous avons commencé avec le webpack,
nous avons un corps stable,
puis maintenant, en regardant les choses comme ce que le Turbo est en train de faire,
nous avons créé des problèmes qui sont très importants.
Nous pensons que beaucoup de ces problèmes,
sont des choses qui se sont alignées avec les problèmes que nous aimerions se faire.
Des autres zones, comme, vous savez, un autre intéressant,
c'est qu'il y a encore beaucoup de rômes et de tréshés,
et de la déco-délimination.
Comme mon opinion, c'est toujours que,
si quelqu'un a fait un compiler qui se produise le plus petit bundle,
il serait probablement quand le bundle est en guerre.
Parce que, en regardant de la façon dont les développeurs se sentent,
ou si ils disent qu'ils aiment ce système d'écosystèmes,
ça ne se distingue pas si vous pouvez produire un payload de 50% moins,
pour l'end-usage.
Si l'end-usage se fait, et si vous pouvez les servir à la score de l'House,
comme, le business ne sera pas en train d'éviter,
juste parce que,
selon la industrie, mais vous savez, c'est ce que je dirais,
si vous pouvez produire un petit artifact,
tous les autres points sont en train de se faire.
Comme, tout le monde va aller pour le plus petit point de la production
pour utiliser leur meilleure expérience.
Au moins, c'est ce que je pense.
Mais, la déco-délimination de la déco-délimination est vraiment rigueuse.
Mais, les meilleurs bundles modernes
sont encore de 40% à 50% de la déco-délimination,
même après l'optimisation.
C'est ce que beaucoup de choses peuvent être faites.
Et donc, une chose que nous avons regardé,
et que nous avons travaillé avec Katie Wy,
sur un peu de ces deux,
c'est de voir comment nous pouvons utiliser
la déco-délimination et la déco-délimination
par utiliser les typescripts en texte
pour informer le bundleur de ce qui se passe.
Donc, souvent, quand vous buildez des choses,
c'est comme,
vous avez des typescripts,
convertir dans un JavaScript,
passer au parser,
le parser le read et le fait, c'est tout.
Donc, vous vous perdez un peu de choses,
comme, si c'était privé,
si cette classe était privée,
vous pouvez vérifier,
est-ce que cette méthode est utilisée en implementation?
Si non, nous savons que,
au-delà de l'outil, vous ne pouvez pas utiliser,
car c'est privé,
donc, c'est safe pour la déco-délimination
si nous n'avons pas de linkage interbrassé.
Donc, il y a un ton d'informations comme ça
que nous pouvons extracter,
qui nous aiderait vraiment
avec comment un bundleur
peut comprendre la app
en utilisant des syntaxes plus meilleures,
ou des syntaxes plus informaux.
Des choses d'autres que je sais
que nous avons joué avec,
c'était, nous avons eu l'idée
d'utiliser la reloadation de la tâche,
et d'utiliser la reloadation de la tâche,
donc, HMR était créé pour la utilisation de la production,
et personne n'a vraiment fait ça.
C'est quelque chose que nous avons regardé,
c'est que, imaginez-vous,
si vous devez performer comme certains fixations de la tâche,
et si vous devez ré-deployer
l'ensemble de la base de code,
qu'est-ce que vous pouvez juste
mettre la tâche de la tâche
dans une app existante?
Donc, si vous avez besoin de la tâche,
et la tâche est seulement 1 kilobit,
vous êtes essentiellement
juste en dessous d'un extra KB
dans l'app existant,
et tous vos utilisateurs
peuvent le prendre,
et vous pouvez la reloader
sans préserver le state dans le browser,
mais vous pouvez effectivement
faire des choses comme ça,
où vos déploiements
peuvent juste devenir des reloads
pour la pipeline.
Donc,
ce sont probablement
quelques des zones plus intéressantes,
et je sais que nous nous sommes aussi
en train de faire des choses
avec l'A.I. et d'autres choses comme ça.
Donc, ce que j'ai fait
c'est peut-être
quelque part dans la ligne
où ces choses
sont en train de se mettre
dans quelque chose comme combiné,
où vous avez un environnement
qui est custom-built,
et où peut-être
on peut mettre
quelque chose d'agent
et d'un système de test,
et nous avons un système
de test
qui est créé
pour être paré
par un indexer
pour un question
et une réponse,
et vous n'aurez pas
d'avoir un code sandbox,
parce que nous avons
des...
基本,
on a assez de les parts
où nous pouvons probablement
faire des choses
plus intéressantes
comme ça.
Je suis très intéressé
à la fin de la vidéo.
Je sais qu'on a commencé
sur ça, mais comme l'AMCP,
par exemple,
en prenant le code
de la base,
notre docteur,
notre docteur,
pour les servers de la base,
et maintenant
votre A.I. serait capable
d'understand
ce qui se passe
dans le code.
Et si ça peut se passer
plus tard,
et vous avez un certain
de l'avion,
donc,
l'application de la compiler
aide à servir,
c'est la application,
c'est la façon dont c'est
travaillé,
et peut-être
déjà utilisé
l'environnement
comme un service de langauge
de la base,
pour trouver contexte
et comprendre les relations
sur les chants
manuellement,
et faire des choses
comme ça.
Je pense que
beaucoup de problèmes
que vous avez
dans l'A.I. et dans
l'AMCP
sont très bien
comme les Bumble
c'est juste que
vous êtes en train
d'avoir un type de module
qui est un chants texte
vers un chants script.
Mais oui,
il y a des choses
intéressantes
que je peux voir
en fonction de la floating
ici,
mais je pense que
en général,
beaucoup de choses vont être
sur comment on va
faire ça,
et on va en faire ça
Je pense que
les choses
maintenant sont en speed,
en approchant
la structure de gras
unifiée,
parce que ça
va ouvrir les portes
comme le RSD
et d'autres zones
comme ça.
Et donc,
quelque chose
que nous avons aussi
considéré
comme
que
quelque chose
comme le RSD
n'est pas
sur le réacte.
Mais
ce qu'il y a
c'est un protocole
de ce genre
qui
fit
dans
ce genre de paradigm
parce que si vous avez
un gras unifié
et vous pouvez
construire le server,
construire l'edge,
construire le browser
et
le build est
aware de
où chaque partie
va être allée
mais aussi le runtime
est aware de ça
aussi.
Le runtime
pourrait savoir
que c'est un
module
par exemple.
Mais
si vous pouvez
le mettre
dans
ce genre
d'importance
d'un certain code
de works
plutôt que
c'est
le réacte
et vous
avez à passer
sur le props.
C'est
de la même
chose
où vous dites
que
c'est un
fonction
que vous avez
sur votre
end
et c'est un
métier
qui
va
transmettre
dans un
métier
de
un call
ou un
call
pour un
code
qui
une
qu'on
a
dans le
en
va
transmettre
une
question
Le tumblr, elle-même, a un moyen universelle d'y prendre ce problème de communiquer avec des ressources qui ne peuvent pas être ici,
mais pour vous, elles se sentent comme elles sont.
Oui, le links est un projet très intéressant, et je pense que la pensée des scenarios de bundlage est vraiment intéressante.
C'est quelque chose que nous voulons parler plus en un second, mais avant de nous changer,
je voudrais vous demander un petit peu de ce qui s'est annoncé recently,
un module RSpec qui est en train de changer l'écosystème de la prochaine JSA,
et ça semble être une alternative, si votre équipe n'est pas en train de utiliser le turbo pack ou pas,
vous avez cette alternative.
Vous pouvez parler un peu de la travail derrière ça, de la manière dont ça s'est passé,
et l'introduction de poste m'a mentionné un peu de collaboration avec Verso,
en tout cas, les fundamentals, c'est ce que ça a l'air comme pour les gens.
Oui, je pense que ça a commencé un peu,
à peu près 7 ou 8 mois plus tard.
Quand je suis en Chine, on était en train de dire,
qu'est-ce que notre plan devrait être pour le prochain an,
faire des plans pour le mid-année,
penser à la fin de notre route,
et nous étions en train de mettre des idées à la table,
parce que nous avons des tests RS, qui sont maintenant étendus à l'avion,
mais qui sont intégrés à l'un des autres outils.
Nous allons mettre des listes de choses qui nous permettent d'adresser de l'écosystème,
et puis, sarcastiquement, je vais juste mettre un RS après.
Je ne pense pas que le sarcastème se traduit très bien.
Tout le monde se dit que c'est intéressant,
et ce que ça a été, c'est que nous avons testé le RS,
sur tout ce qu'on peut trouver.
Nous avons juste cloné les repos,
et nous avons testé les RS,
mais le point qu'on ne pouvait pas tester c'est qu'on ne pouvait pas le replacer,
et qu'on a répliqué le RS, et que nous allons le faire.
Nous avons décidé de le essayer,
et nous avons forké le RS,
et nous avons sorti au matin ou au soir,
et nous avons dit que nous allons juste se faire un peu de défi,
et voir ce que nous pouvons faire.
Dans quelques heures, nous avons été en train de travailler sur les pages de la route.
Bien sûr, pas tous les tests se passent,
mais c'était comme si je pouvais prendre un série de tests de random,
et un basic page de route avec des CSS,
et un couple d'autres choses qui ne fonctionneraient pas.
C'était assez impressionnant de voir que c'était pas si difficile,
et que la route ne fonctionnerait pas,
mais le fait que vous pourriez avoir 40% de tests passés,
ou quelque chose comme ça,
de tout simplement essayer de le faire,
et de se faire faire faire ça.
Donc, finalement, je pense que les défis qu'on a eu avec ça,
c'est vraiment cool, et j'ai hâte de voir ça,
plus loin que j'ai dû avoir, parce que j'étais très excité de voir ça.
Mais la chose, c'est qu'on n'a pas eu de casse pour ça.
Donc, de maintenir une force de neige comme un ordre grand.
Mais c'était vraiment cool de voir que,
pour nous, c'était pour la bunde,
si on pouvait faire le travail,
si on pouvait, c'était cool.
Je pense que nous étions en place pour faire le même truc,
pour qu'on puisse construire ce que...
C'est vraiment le plus complexe de Webpack,
que l'on a jamais créé, et c'est le NEXT.JS,
avec des services qui sont en train de se faire,
mais il est officiellement le gout de billes,
et c'est le plus grand test de l'année.
C'est le plus grand test de l'année.
Donc, oui, on a construit ça,
et on a élevé ça pour un peu d'un peu.
Un peu de gens, après le NEXT,
ont pensé à un couple de gens,
qui ont pensé à un peu de plan de votre plan.
Et ils ont dit, c'était pour les tests.
On voulait voir si ça fonctionnait,
et ça fonctionnait, donc c'était le final.
Et ils m'ont demandé,
qu'est-ce que vous considérez que c'est un test de l'on?
Parce que c'est génial d'avoir une autre option.
Et je pense que le grand challenge que NEXT a,
c'est qu'ils ne sont pas nécessairement
de se faire construire à d'autres options.
Le problème est que les gens ne sont pas juste
sur le tap qui peuvent rapidement
se faire construire un nouveau,
un replacement de brisque
de NEXT.JS,
cette structure de billes avec quelque chose d'autre.
Je ne pense pas que c'est un cas de,
oh, NEXT est vraiment de la fin,
et j'aurais nationalOK bah plutôt que je parle de
tellings &
de temps op�le alors je n'astics pas
just when what these yell
parce que, en regardant les choses, si le turbo s'amuse avec RSPAC ou tout,
les problèmes que RSPAC aient de face,
donc beaucoup de choses à biais dans les houses de biais.
Et la main raison est que, quand on se fait un problème,
il n'y a aucun qu'on doit demander de l'outside.
Et ça peut se faire un peu mal,
on va construire notre propre runtime de JavaScript,
mais finalement, si le business a besoin de problème,
il n'y a pas de non-non, c'est oui, on a tout ce qu'on a besoin.
Donc, c'est dit, il y a toujours des choses à biais d'outside.
Et donc, une grande chose pour nous c'est le SWC.
C'est une chose qui est difficile de se faire accéder
parce que c'est largement...
C'est un problème qui est un problème,
mais c'est un problème qui est un problème.
Et donc, c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
et c'est un problème qui est un problème,
allez-vous abattre des réfugiés
d'avoir une opportunité de travailler ensemble,
parce qu'il y a,
surtout en Rust, comparé à JavaScript,
il ne se sent pas comme si vous avez
la même veste JS devs
partout, comme quand vous allez
à des confrètes et quelque chose comme ça.
Rust n'est pas assez là-bas,
donc je pense que c'est probablement le meilleur
pour ceux qui travaillent dans la langue
pour essayer de travailler ensemble
si vous vous en avez un souhait.
Parce que vraiment, il n'y a pas beaucoup de manpower
pour se protéger comme vous avez sur NPM.
Donc, avant de nous rappeler,
je pense que nous devons toucher
sur un nouveau projet de Bite Dance,
Linkz.
Il semble que c'est un competitor
native de React.
Je pense que j'ai vu des CSS dans les docs,
donc, pouvez-vous nous expliquer
ce que c'est et est-ce que c'est un renderer native,
est-ce qu'il y a un base web,
ce qui se passe là-bas?
Oui, donc Linkz est assez intéressant.
Donc,
originalement, c'était la bête de Bite Dance,
et puis, TikTok est celui qui est
essentiellement le fundeur
et le principal source public
de Bite Dance,
maintenant.
Et
je pense que la raison que nous avons
Linkz est
donc, je pense que le premier
théorieux est,
on le rappelle quand Facebook a réagi
et c'était leur première utilisation.
C'était le bouton de liker.
Ils voulaient quitter
un bouton de liker
quelque part.
Maintenant, je pense que
c'est essentiellement
la raison
que nous avons utilisé quelque chose comme Linkz
on a un component qui n'est peut-être pas
dommage de rire en Swift ou C,
et de
mettre en React Native
est potentiellement trop
trop overkill pour ce truc.
Donc, nous avons besoin
d'une solution
de l'élection de l'élection
relativement basée
et un grand truc ici
c'est que tout est web.
Il est
web ou
comment faire le type web
de l'expérience de web
qui ne sont pas nécessairement normales.
Je pense que
dans le monde de Chine, c'est un peu plus client
de l'exercice. Il y a beaucoup plus de mentalité
sur comment nous avons travaillé.
Mais ça fait
aussi que ça fait le plus
familiar.
le premier,
Linkz est en fait agnostic.
Il n'est pas React Native,
mais il y a
React Linkz, qui est essentiellement
bindé à Linkz qui vous donne
un JSX.
Je pense que dans la hôte, c'est techniquement
utilisé par React.
Mais ici,
ici, c'est le React
de l'élection de l'expérience de web.
Mais vous pouvez aussi faire
un sceau de s'écouter.
Je sais que j'ai vu qu'ils s'annoncent
un vigno
où vous n'avez pas besoin d'une
framework UI et vous pouvez juste utiliser
un JSX.
C'est-à-dire
un web,
mais il y a un custom renderer
qui est construit.
Une chose similaire,
c'est la version
où on rend le vigno.
On a une bonne performance
sur les listes virtuales.
Ou on fait des
choses curielles,
qui sont plus simples
que les web, mais très difficiles
à faire en native.
Il y a un peu de ça
qui est aussi basé dans le code.
Mais quand
vous stylez CSS,
je pense que c'est converti
dans le equivalent native.
C'est la même chose
que je n'ai jamais utilisé beaucoup
de React Native, donc je ne sais pas
beaucoup de la mantient de style.
Mais
c'est essentiellement de dire, ok,
rivez ça de votre CSS
et faites ça
et créez le style
correctement. On ne supporte pas
tous les sélecteurs CSS, mais
on supporte un grand range de les sélecteurs.
Mais je pense que
la chose qu'on a
après, c'est qu'on a
une solution native
qui est rapide,
que l'on peut s'en prêcher
à des visages
qui ne nécessitent pas
tout le travail,
qui fait le bon expérience.
Donc
je pense que sur TikTok,
les app sont native, mais
le shop Tiktok est
links, ou quelque chose comme ça.
Je ne suis pas sûr que c'est le shop, peut-être le studio.
Je dois aller en bas et lire le blog,
je ne travaille pas
pour TikTok, je ne sais pas vraiment,
mais essentiellement c'est cette idée
que vous avez des choses qui ont besoin de
faire super bien, et vous vous vous writez
un code native. Et puis vous avez
d'autres choses qui ne
ont pas besoin de ça
où un bon
native web
solution serait parfait pour
les injecter, comme les banners
ou certaines pages qui sont
en train de se faire, mais peut-être
votre main vidéo scroller, vous le comprenez.
Je pense que c'était
beaucoup de ce que c'était utilisé pour,
des moyens sur les services,
d'avoir un app,
d'avoir plus de features en app,
sans nécessairement
avoir à commettre
d'un type de
scénario.
Donc, je pense que c'était
des raisons principales
que nous avons faites.
C'était très
surgiquement,
dans les apps existants, nous avons besoin
d'un app que nous travaillons
sur la plateforme, parce que nous devons
faire de plus de devices,
donc
c'est quelque chose qui a vraiment travaillé
sur tout ça, parce que nous avons
beaucoup de parts, je pense que nous
avons même Pico, qui est un
des des des des des des des des des des VR headsets,
et des choses comme ça.
Donc, quand vous pensez que vous avez besoin de
une solution plateforme,
le potentiel de la plateforme
que vous avez en compte
est juste, oh, ça doit travailler
sur un téléphone et un desktop,
ou quelque chose.
Donc, je pense que c'est où un peu de ça a été
maintenant. Maintenant, c'est encore dans les
derniers jours, mais
c'est vraiment intéressant de voir
ce qu'ils font.
Je pense qu'ils aimeraient collaborer
avec des communautés existantes.
Je suis sûr qu'ils aimeraient collaborer
avec des groupes de réactes natifs,
des choses comme ça, sur des
mêmes choses, comme, hey, est-ce qu'il y a
des foundations qui peuvent
être
aidées pour s'améliorer
les app de la plateforme native?
Mais
si vous avez des questions
spécifiques, je suis un peu en train de
faire un tangent, mais
ce que l'Ings a été
fait pour faire dans sa forme
est de
se faire. Ce que j'aimerais voir
c'est quelque chose de roudre, je pense que c'est
une partie de la missing, mais je comprends
pourquoi c'est une partie de la missing,
parce que nous ne sommes pas en train
de faire une app normale
où, hey, tout est réacte native,
et c'est tout expo, ou tout.
C'est plus, on a une app
qui est construite pour ce purpose, mais
cette chose ne doit pas être dans la même
langue, parce que c'est pas
comme mission critique.
Le manpower de la
c'est nécessaire, on peut le faire
mieux si on le fait dans une langue web
plus amoureuse. Et c'est aussi un peu plus
portable sur un
nombre de plateformes.
Cool, ça semble que vous vous
travaillez sur beaucoup de choses
cool, comme... Nous sommes à
un moment maintenant, mais nous n'avons pas
parlé de tous les membres de la famille RS,
et de toutes les permutations
que vous avez vécues.
C'est incroyable de voir d'au-delà,
et merci pour les
taux de la chaîne, et pour les
dégâts.
C'était génial, c'est génial,
allez-y, et chute.
Merci, Zach, pour les
dégâts. C'était le dernier moment
de vous parler de la fédération
module que vous avez fait, et
c'est génial de vous
voir ce que la situation
est. C'est cool que vous
vous êtes en train de
faire une nouvelle vie dans le
webpackage, un système éco-système
pour que vous ne vouliez pas
mourir, parce que
les temps ont changé.
C'est un grand
truc, c'est génial de
le faire, parce que c'est
un bon travail, il faut
se faire vite.
Je sais que nous ne nous
avons pas fait des rstacks, mais
en général, nous
faisons des tests,
nous avons déjà
des récits, des rstacks
et des récits.
Nous avons un rstack,
qui est le recul de l'exploitation,
qui est le viet d'RV,
si vous voulez dire,
on a un rstack et un rstack
qui est le viet d'un monde,
mais
il y aura probablement
un peu de temps.
Nous allons
faire un plan d'éco-système
pour que vous soyez
dans un plan de l'exploitation.
Je pense que c'est
quelque chose que je
apprécierais
dans le space d'opinion,
que je ne dois pas
acheter des outils, mais
si je veux plus,
c'est le design de la
C'est un truc que nous
one toujours
et l'éco-système.
Les rstacks peuvent être collés, mais
ce n'est pas nécessairement
pour les outils,
les frameworks,
les autres outils et les outils.
C'est vraiment sympa
d'avoir une seule pipeline pour
construire vos outils, vos outils,
tout autre.
Je pense que l'éco-système
aussi, les utilisateurs qui veulent
utiliser ça, nous voulons
faire l'éco-système un peu plus
plus grand, plus grand,
et je pense que c'est aussi un autre
facteur, que la lutte de la future
bundler wars va être,
ce qu'est-ce que le kit va arriver
n'a pas vraiment à faire avec le tool,
le tout le bot va être là aussi.
Il y a des groupes
différentes qui tentent de s'acheter
cette bataille, je vous souhaite que vous
le voyez.
Merci pour les
bonnes, c'était bien de
se coucher après un temps
de
Les infos glanées
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