Daniel Roe - Nuxt, unJS
Durée: 70m38s
Date de sortie: 28/08/2023
This week we talk with Daniel Roe about his journey from law to design to development and how he ended up leading the Nuxt core team. We dive deep into all the cool things Nuxt can do and how it compares to other frameworks like Next and React. Community is a big part of Nuxt/unjs and we talk about how that has shaped the project and the community around it.
Sponsored By Raycast
- https://twitter.com/danielcroe
- https://twitter.com/nuxt_js
- https://nuxt.com/
- https://twitter.com/nuxtstudio
- https://nuxt.studio/
- https://regexp.dev/
- https://twitter.com/unjsio
- https://github.com/unjs
- https://roe.dev/
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
Tooltips
Andrew
Justin
Daniel
- sli.dev
- https://alacritty.org/
- https://apps.apple.com/us/app/plash/id1494023538?mt=12
- https://www.raycast.com/
Ça ne doit pas venir de la team de Nuxt, parce que ces modules peuvent faire tout.
En fait, beaucoup de code Nuxt est en fait créé comme modules internes.
Les différents changements signifiant que vous faites au Nuxt,
commencent à tester les modules.
Donc, tout ce que nous utilisons est exposé pour quelqu'un d'autre.
Ça a fait une grosse différence.
Hey, tout le monde, nous avons voulu annoncer un petit change au podcast.
Nous sommes vraiment excitées à vous de partager que nous avons un sponsor corporeal.
Nous aimerons que vous puissiez remercier Raycast pour sponsoriser notre podcast.
Je vais vous envoyer à Andrew pour partager un peu plus sur ce que ces changements signifiant.
L'année dernière, nous avons eu un podcast de version paix et paix.
La version paix usually décide 10 à 15 minutes de contenu.
Merci à la sponsor, nous ne serons plus en train de faire ça.
La version paix va juste avoir les ades élevées.
Nous sommes aussi excitées à annoncer que par partner avec Raycast,
nous serons contents de vous de vous donner des épisodes de DevTools FM.
Vous allez avoir deux fois autant de contenus que vous avez utilisé.
Nous aimerons encore de vous remercier tous nos sponsors Patreon.
Vous nous avez vraiment aidés à nous accueillir à ce point.
Nous vous apprécions vraiment.
Nous avons un code 30% de discount pour vous pour un merch.
Si vous voulez acheter des stickers ou quelque chose.
Merci beaucoup.
Nous espérons que vous aurez plaisir de vous écouter le podcast.
Et si vous vous-même êtes un business qui est intéressé en sponsorant le podcast,
vous pouvez aller au www.devtoolsfm.com.
Pour appuyer.
Merci beaucoup.
Vous avez fait beaucoup de choses, Daniel.
Mais, en plus de me lire votre bio,
Would you like to tell our listeners a little bit more about yourself?
Oui, merci pour votre welcome.
Et la expansion de la job aussi.
Et bien sûr, oui.
Donc, un petit peu d'envoi pour moi-même.
Je suis né à un très jeune âge.
Et je n'ai pas fait de programme en fait.
Je pense que mon path de vie est un path très différent.
Je pense que même moi, je ne l'ai pas attendu.
Donc, j'ai aimé beaucoup de choses différentes dans la maison.
Et j'ai fait des programmes de hobby ici et là,
de visuel basé et ce genre de choses.
Mais je suis allé à l'université et je l'ai étudiant.
Je l'ai aimé, j'ai aimé, argument, débattre,
citer des précédences,
et de l'éloignage de l'éloignage.
Et puis, en fait, je l'ai fait à une chrétière.
Je suis sorti de l'assistance parisienne de Jack of All Trades.
J'ai été appelé pour un an.
Et puis, je suis allé à un fédéral du Seminary de l'Occident de l'École de la Chine.
Je l'ai étudié là-bas.
Et puis, je suis allé à une chrétière en L.A.
Et puis,
quand le temps est arrivé de faire quelque chose différent,
j'ai commencé une agence créative
avec mon père et ma femme.
Et ça était tout à l'heure de trouver les right words.
C'était tout à l'heure de faire une édition,
ce qui est un grand niveau de mien.
Et puis, on a gradually commencé à faire un peu plus de code
parce que c'était vraiment l'autre demi
de la figure de quelqu'un qui a des messages et des messages
pour en impliquer.
Donc, je l'ai fait parce que je l'ai fait,
je faisais des logos en branding et en construisant des sites.
Et je l'ai juste gradually reposé en code
et j'ai évidemment aidé par contribuer
aux projets que nous utilisons.
Et puis, ça me semble que, un peu de années,
j'ai passé et j'ai commencé à me faire un peu de la chrétière
qui me semble un peu fou.
Je ne suis pas vraiment sûr que,
parfois, c'est vraiment vrai.
Mais c'est un journey étrange,
ce n'est pas ce que vous espérez.
Oui, c'est cool.
C'est un point de plaisir de entendre les gens,
et je pense que c'est vraiment vrai
que les gens qui sont intéressés
sont des gens qui sont intéressés
à des histoires de backgrounds.
Et je ne sais pas,
ça me semble vraiment cool.
C'est toujours inspirant de entendre les gens
qui ont commencé à un endroit et qui ont fini de coder.
Je l'ai lu un tweet hier où quelqu'un a dit
que la code, comparé à la science et la math,
est un espace facile.
Vous pouvez étudier pour deux ans
et ensuite se faire entendre.
Ce n'est pas comme des mathématiques de l'air.
J'adore comment ça se fait.
C'est juste que c'est magique avec des pensées.
Quoi que vous pensez,
vous pouvez faire le vrai.
C'est assez cool et incroyable.
Et, en fait, dès le moment que vous pensez,
vous pouvez faire le vrai.
Parce que tout est possible.
C'est un...
Je pense que c'est très invité,
parce que c'est tellement immédiat.
Et le gaffe entre
avoir un réel, tendible
et avoir un réel réel pour ce que vous faites
est tellement...
Le gaffe est tellement petit.
C'est presque...
Et particulièrement, je pense que c'est vrai avec le développement web.
C'est plus difficile quand vous êtes en train de construire des apps natifs
et des choses comme ça.
Mais même là, comme vous le dites,
vous pouvez étudier pour deux ans.
Je pense que vous ne pouvez pas étudier pour deux ans.
Vous pouvez avoir des résultats réels
dans un cas de jours
ou d'hours, même.
Et puis, c'est le réveil.
Le réveil de la cycle.
Vous avez quelque chose de bon,
et vous voulez faire quelque chose d'autre,
et vous devez apprendre quelque chose de faire.
Mais ça ne se sent pas à la place,
parce que vous devez immediately avoir le réveil
de la chose que vous voulez faire.
Et c'est juste un cycle magnifique, je pense.
Donc, on pourrait penser que Raycast
pour sponsoriser notre podcast.
Si vous n'avez pas entendu Raycast,
c'est une app pour Mac qui est en spotlight,
mais avec superpowers.
Vous pouvez faire toutes les mêmes choses que vous faites en spotlight,
rapidement ouvrir des files, des URLs,
mais il y a aussi beaucoup d'autres cool features,
comme Clipboard History,
Windows Management, Schedule Overview,
ce que j'ai personnellement aimé,
et beaucoup d'autres trucs.
Il y a aussi un réacte basé d'extension,
API, qui est super cool.
Quels extensions avez-vous travaillé dans votre workflow?
Je l'ai vraiment aimé,
l'extension de la schedule en particulier.
Donc, ça a une fonctionnalité
où ça s'étend à votre calendrier,
et vous pouvez avoir
une bindage qui vous prend à votre prochaine meeting.
Et je trouve ça super, super utile.
En un vêtement similaire,
j'ai trouvé l'extension de la extension de la récente
de la built-in reminder, vraiment utile.
J'aime que vous pouvez le mettre
dans les defaults de Mac OS,
et que ça se sentait native.
D'autres choses que j'ai aimé
sont les AI Raycast.
C'est leur fonctionnalité pro,
mais ça vous donne
l'accessibilité de ces
modèles de large-language
AI que vous avez soumises
des notes, des erreurs fixés,
des phrases qui change la tone.
La chose que j'aime vraiment
sur les solutions AI
est que c'est intégré directement
dans votre workflow.
Donc, highlight quelque chose,
renner un shortcut qui vous fait
pour d'autres extensions,
et ça va activer cette fonctionnalité.
C'est vraiment cool, vraiment utile.
Pour apprendre plus, vous pouvez
visiter Raycast.com, ou vous pouvez
aller voir l'épisode 38, où nous parlons
de la CEO Thomas, sur le produit.
Je suis curieux, parce que vous étiez
en agence et vous avez fait des
des travail de design,
et puis vous avez
fait des programmations pour ça,
même si vous avez fait des programmations
de hobby avant votre vie.
Qu'est-ce que vous pensez que
il y a des parallèles entre le processus
et le processus de programmation,
par exemple, que vous parlez
de ce riche réward
que vous avez, de avoir une idée
et de vous donner quelque chose dans la vie.
Et parfois, je pense que ça peut être
difficile de conceptualiser
quelque chose et de vous donner
une designer à vie, mais il y a
un feeling gratifiant.
Vous ressentez que il y a des parallèles
entre les deux ?
Je dois dire, je ne pense pas que je suis un très bon designer.
Je pense que je dois
avoir des opinions.
Je sais ce que j'aime
et je le reconnais
plutôt que de savoir comment créer
ceci. Donc mon processus de design
était largement joué
avec des curves et des logos fixés
jusqu'à
que je ressentais ce sens de reconnaissance.
C'est ça, ça ressemble bien.
Et donc, nous avons été dans des places très belles,
mais ce n'est pas parce que je pense que je suis un très bon designer.
Je pense que c'est plus parce que, je pense que
à un moment, à la fois,
c'est une des choses que j'ai faite
d'être bien.
Et c'est comme ça qu'on a été là.
Donc je ne suis pas le
personne à demander le processus de design,
parce que je ne pense pas que mon processus de design
était le même.
Je veux dire, c'est un 1000 monquils
sur 1000 keyboards.
C'est ce que j'ai exemplifié.
Mais je pense que
je regarde des programmes qui ont
vraiment de bonnes sensibilités de design.
Les gens comme Anthony Fou
ont fait des très belles choses.
Et vous savez, vous pensez
à la niveau de l'art.
Et ça a un sort de similaire,
je pense que c'est un similaire
en termes de l'élegance
de des petits genres
de design et de la codé,
qu'il y a un sort de
le sort de l'élegance, le minimal,
le choice parfait.
Et ça, je pense que c'est
aussi similaire au choice
de la perfection de la personne,
ou de la message.
Vous êtes en train de faire un truc
qui est infiniment petit,
comme un fractal,
qui est parfaitement
le bon nombre
de choses qu'il faut faire,
de l'expression, de la communication,
d'obtenir la codé,
et avec un message,
c'est fractal
parce que vous pouvez le zoomer.
Un message peut prendre 10 secondes,
mais vous pouvez parler de ça pour 20 minutes
ou une heure, ou vous pouvez donner
un workshop des jours, parce que
c'est le fractal.
Je pense que l'identifier
quelque chose comme ça, c'est le même
genre que les programmes, je pense,
qui essayent de faire, quand ils essayent
de faire quelque chose générique, ou reusable,
ou pas juste
pour un cas de utilisation spécifique,
mais quelque chose qui pourrait être plus grand.
Je pense que c'est le même
mental qui se passe.
Je ne sais pas si ça répond à votre question,
parce que, comme je l'ai dit, je ne suis pas
le bon personnel qui a dit que c'est le même processus.
Qu'est-ce que vous trouvez ?
Qu'est-ce que c'est votre take ?
C'est une bonne question. Je pense que tous les endeavors créatifs
ont un écho.
Ça dépend de ce que vous vous apprêtez,
parce que c'est le niveau de l'effort.
Vous parlez de programmes
qui réveillent ces récits répliques,
et c'est le cycle de
de voir ce que j'ai fait,
de venir à la vie.
Mais pour des gens, ça peut être très difficile
parce qu'il y a
des
des procès qu'il faut
y aller, il y a des syntaxes qu'il faut
mémoriser, vous devez faire des
rôtes-rituels pour ce qu'il faut faire.
Et si ça ne se passe pas naturellement
pour vous, il peut y avoir beaucoup de friction
pour voir quelque chose de la vie,
car peut-être que vous êtes présenté
avec un canvas, un figma,
et ça c'est le monde qui peut vraiment
faire quelque chose de la vie.
Je pense que ça dépend de la vie de différentes personnes.
Mais je
particulièrement apprécie
le développement de design
parce que c'est un
rare breed de personne.
Et la autre chose que je
ne crois pas vraiment, c'est que
chaque fois que je travaille avec quelqu'un
qui peut faire les deux designs
et le développement,
ils sont toujours vraiment créatifs,
et c'est
un breed différent, et c'est un plaisir
à chaque fois que je vis à un point de vue.
Je pense qu'il y a
quelque chose de ce que vous dites
sur les procédés.
Friction, c'est
le truc qui
fait le loop de feedback
plus long et plus tiresome.
Le nombre de frictions,
installation de mode, de version, de manager,
et tentant de figure-out comment
configurer le get.
Le plus important
c'est les choses qui ne sont pas de ce que vous faites.
Les autres choses, les choses qui
sont dans le moyen de ce que vous faites, et qui
arrêtent de faire
le basic que le tutoriel
m'a dit à vous. Ces choses,
je pense, sont ce que
les gens arrêtent. Et le manque
de ressources, ou le manque
d'intuité de ça, cette kind de friction
est basically le enemé
des développeurs qui se font mieux
de ce qu'ils font. Je pense que ça marche
comme un bon transition à la restée de notre conversation.
Vous avez mentionné que
votre
dévouement passant, avec la loi,
vous avez aimé ça parce que c'était un peu
de l'argument. Le lieu de face
est de l'argument.
Donc, on commence avec un point salier.
Pourquoi vous aimez
de l'envers et comment la développement
de l'application vous parle?
Je pense que c'est
pour être plus oublier.
Je pense que
tous ces différents programmes,
les tools et les langues
et les frameworks sont juste
des tools dans un toolbox.
Donc,
on est espérant d'être
artistes et des crafts,
des gens. Donc,
en utilisant l'un vers l'autre, c'est un bon
point de parler, un bon point
de faire des ennemis. Pourquoi j'aime
de l'envers?
Je pense que
évidemment, c'est la raison historique,
pourquoi j'ai picked ça en premier lieu.
Mais pourquoi j'aime ça maintenant
et pourquoi j'ai choisi
de l'envers,
en tant que temps, de beaucoup de différents projets?
Ce n'est pas la seule chose que je travaille.
J'aime vraiment
comment vous mérisez
les langues primitives
de Web.
Donc, les choses comme HTML, CSS
et JavaScript
sont sorties en un
component single file en vue.
Donc,
d'exemple, j'ai eu un agent
qui a utilisé un nouveau
réacteur, ou d'autres frameworks.
Je pouvais leur dire
que j'aurais pu
faire des HTML, CSS
et JavaScript. Et, en fait,
il y aurait un peu plus de travail
qui aurait besoin, donc on pourrait
faire des HTML qu'ils ont écrit et simplifier,
pour les faire plus clairs.
Mais, c'est
ce qu'ils ont écrit, c'est
que ça devrait être le même. Et c'est
une bonne reduction
d'immédiat de friction. Et aussi
la autre façon, c'est que quelqu'un qui
travaille en vue, peut aller
envers, je pense,
à utiliser des choses. Donc,
je pense que vous voyez une tendance
dans les développeurs en vue, pour exemple,
d'envoi pas les frameworks CSS
et JS, mais les frameworks
qui sont juste les services de l'outil CSS.
Et c'est ce que l'on veut
aller envers ces
trois formes
primitives de Web.
Et j'aime vraiment ça. Je pense que ça me
me sent bien. C'est
ce que j'aime.
Je pense qu'il y a des choses
vraiment belles sur le view, en termes
de la façon dont le framework fonctionne. Je
j'aime le fait que ce n'est pas
un cycle de rérendu perpetuel.
J'aime le fait que vous avez
des instances componentes.
J'aime vraiment la nouvelle architecture
composable.
J'aime aussi la communauté.
La communauté de vue est
une chose positive et amusante.
C'est très international.
Vous avez des gens
qui utilisent l'envie de l'avenir.
Je pense que c'est peut-être
le cas depuis le début. Et, encore,
ce qui se passe
par un accident historique
en termes de qui a pris quelque chose.
Et où les groupes de
utilisateurs ont terminé en les
derniers jours.
Mais la communauté de vue est
juste amusante.
Et parce que ce n'est pas la plus grande communauté.
L'envie de la communauté
est un peu plus
plus proche.
Il y a un
peu de sens
de nos amis.
Je ne suis pas
d'ailleurs en disant que ce n'est pas
le cas de l'envie de l'avenir.
Mais il y a des choses
qui sont très importantes.
Je suis certain que le point de la communauté
est un point de réaction.
L'envie de la communauté
n'est pas très attaché
à une société.
C'est un collaboration d'un ouvert
source entre beaucoup de gens.
Je pense que c'est pioneer.
On a travaillé
avec l'avenir
et on a essayé de
voir comment ça est
enversé.
On a aussi
créé des projets d'open source
qui ont été en train de
faire des choses enversés.
Et oui, il n'a pas été
commercialisé. Je suis sûr que
l'avenir a décidé de
faire un point de réaction
plus plus profondeur
en quelque sorte.
Mais il a probablement perdu
ce sentiment de être un projet de communauté.
Parce que le point de la communauté n'est pas
pas... Il n'y a pas de
company qui est associé.
N'importe qui a acheté l'avenir.
Je suis sûr qu'il n'aurait pas de difficulté
avec ça si il voulait.
Mais si vous avez appris
son independent et l'avenir,
c'est un projet
de la people.
Pour la people.
C'est un bon moment.
Quand je
j'ai commencé à
voir la frameworks, j'ai appris
un peu de réaction.
J'ai
une sorte de turn off de JSEX
que beaucoup de gens ont en train de réaction.
Et je me suis rendu
un peu en train de voir
les components de single file.
Pour moi,
en travaillant avec des designers,
qui ont tout le type,
et j'ai l'impression que c'est le format
général.
Ils me donnent
le file et je peux le faire.
Quand j'ai essayé de parler
d'un component réact, ils me disent
que c'est quoi.
Quand je suis allé
à New York, j'ai aidé
de l'organiser
JSEX,
et j'ai rencontré un peu d'un moment.
C'est une grande communauté.
J'ai l'impression que, à un moment
de ce que vous avez dit,
les internationalisations, en partie,
elles avaient des translations
dans leurs docs, très très très
plus tard.
Je pense que plus tard,
beaucoup de frameworks ont fait ça.
Les bons docs et le défi
d'écosystème, les choses
sont très grandes.
Il y a
des autres choses aussi.
Il y a
des paths
de la route single-view.
Il y a
des stores single-view.
Ce n'est pas que les choses sont universales,
mais
même maintenant, il y a
les pignons successifs,
mais ce n'est pas le seul.
Il y a Harlem,
par exemple,
Ux, il y a
ce path blessé,
il y a
une partie première,
il fonctionne,
il s'amuse
avec l'écosystème.
Vous pouvez choisir d'autres choses, mais vous n'avez pas de
être paralysé par la choice
quand vous étiez en train d'un nouveau projet.
Je pense que c'est
une friction. C'est un des
des choses les plus importants
que les développeurs s'en ont
construit rapidement.
C'est l'une des raisons que Tailwind,
par exemple, est une
chose de la paix
que les gens ne doivent pas
faire des choix.
Comment serons-nous
les tokens CSS pour ce projet ?
Vous êtes nouveaux ?
Allez-y,
nous faisons des choses uniques.
Mais vous n'avez pas ça,
Tailwind, vous avez un path
dans le monde.
Et je pense que vous avez ça par défaut
avec le fait que le
routier et le management de la
state, et il y a beaucoup d'autres libraries
qui sont dans cette catégorie.
Vous avez la choice,
mais si vous ne vous regardez pas
pour faire quelque chose différent,
il y a un
path bien paix
qui va en faire
quelque chose.
Je pense que c'est un autre tool qui explique
que ça est plus beau.
On a déjà dit que c'est format,
mais on ne l'a pas.
On ne peut pas dire plus.
En parlant de
des workflows et des tools
qui permettent
d'avoir des problèmes fréquents,
comment est Nuxxed ?
Et pourquoi j'ai besoin de l'utiliser ?
Et comme personne qui ne vous a touché,
comment est-ce que c'est lié au Nuxxed ?
C'est un
framework pour construire webapps.
Et c'est basé
sur View, donc
il utilise View pour la partie
front-end.
Il a aussi un framework
qui s'appelle Nitro,
qui est maintenant utilisé par d'autres frameworks.
Il y a
un framework
qui s'appelle Analog,
qui est construit sur Nitro 2.
Et on est vraiment égaux de collaborer
avec d'autres frameworks.
Nuxxed est, je pense,
très similaire à Nuxxed
dans des choses que vous devez regarder.
C'est un framework de métaphore,
donc il va
aimer
d'abstracter beaucoup de la paix
de travailler avec
une webapp moderne.
Dans les jours plus tard, c'était la paix
de configurer un webpack,
un installation de webpack.
Ce n'est pas quelque chose que les gens
ne m'ont même pas rappelé,
mais c'était un point réel
de la paix.
Maintenant,
VIT est notre bundel de défaut,
mais, encore une fois,
Nuxxed s'occupe de configurer et de faire des choses
juste de travailler. Il fait que les choses
travaillent comme services à la rendition,
SEO, juste de travailler,
routier, donc vous faites juste des pages
dans la direction de pages, et ça marche.
L'une des choses grandes pour Nuxxed 3
c'est de faire des typescripts.
Donc, encore une fois,
vous avez des choses
juste de la même manière,
type inference,
donc, par exemple,
le genre de choses que nous pouvons faire
parce que c'est un framework métallique,
vous créez une route de service
dans votre application. Nous avons
récité ça pour que, quand vous faites
un request de service à la rendition,
vous avez le type de retour
de la route de service
dans le component front-end
où vous utilisez le service.
Vous avez une saison de type de la saison
qui est juste en train de se faire
sans avoir à faire de la même chose.
Vous faites des choses
aussi, des performances optimisées,
donc nous faisons beaucoup de utilities
disponibles pour vous que vous pouvez utiliser
mais plutôt que de le registrer
globalement, nous devons importe
où ils sont nécessaires, ce qui signifie que
quand vous êtes en train de construire,
Nuxxed est un framework qui
évapore, si vous ne la n'avez pas besoin
ce n'est pas dans votre build.
C'est un bon approach
qui a été réalisé possible
par le pattern de
la utilité composable
qui est une architecture composable.
Nous utilisons
ceci pour ne pas seulement le part de Nuxxed
mais aussi le site de service.
Nous faisons
tout ce que vous voulez
pour vous
et tout ce que vous avez besoin
est en partage de votre site final.
Mais oui, il fait beaucoup de choses.
Il se couvre tout de la surface
de l'aspect de la site browser
pour le building et le bundlement entre les deux.
Qu'est-ce qui a fait la integration de TypeScript ?
D'hier, je ne dirais pas
que c'était pas super
difficile mais c'est juste
beaucoup de glu.
Et
les meilleures pratiques sont que vous ne voulez pas
que le framework soit fait. Vous voulez que
ceci soit fait le plus vite possible. Vous voulez que
le TypeScript soit fait.
Certaines des choses que nous avons
que la framework
a des conventions
très belles.
C'est l'H3
et c'est
une version moderne de Express.
C'est ce que je veux dire
par le framework.
Si vous retournez en JSON,
c'est un normal de faire. Vous retournez un object.
Et ça dégâche
le stringer et
les types de contenus.
Mais parce que vous retournez
un object, ça signifie que
le type de retour
de l'end point est
juste le type de retour de la fonction.
On n'a pas de magie.
On a juste de la telle TypeScript
que le type de retour
de la path,
ou de la route API,
matche le type de retour de la fonction.
C'est comme ça.
Littéralement, c'est
une ligne pour chaque file.
On aussi supporte le type de méthode.
Si vous avez un point post-end,
il peut avoir un type de retour
de la version de la version de la version de l'end point.
On aussi ajoute ça.
C'est tout que nous faisons.
Et puis,
quelques types de la nature.
Le type de libraries
est le meilleur.
Donc,
pour avoir
cette magie,
vous commencez à filmer.
Vous pensez que cette route peut seulement exercer ces méthodes.
Si vous mettez l'autre méthode,
c'est un type de route.
C'est vraiment bien.
Mais le nombre de codes,
les codes type, est souvent
complexe.
Mais ce n'est pas spécifique.
C'est juste un code generique.
Est-ce que vous vous rassurez
dans un processus separate?
Ou est-ce que
vous n'avez rien à faire?
Ce n'est pas code, Gen.
C'est juste que le code fait ça possible.
Donc,
il y a deux pièces.
Un est juste type script
dans votre IDE.
Il fait le travail.
Il y a un bit,
qui est generé.
Et,
vous pouvez inspecter.
Vous pouvez avoir un look dans le folder dot-nux.
Et ça
serait seulement changé.
Par exemple, quand vous créez
ou remuez un file.
Pour la chose particulière
que nous parlons de.
Vous créez un nouveau point de service.
Et puis,
le file a un nouveau line
à l'aide de ça.
Ce point de point de point
vous faites des changements.
Un nux n'a pas besoin de faire des changements.
Parce que c'est déjà un type script
pour connecter les deux.
Et tout le monde est juste votre édite
pour le faire.
Nous essayons de
le garder à minimum.
Nous faisons
des types générés.
Par exemple,
quand vous vous en faites
des variables environnementales dans votre app.
Nous avons
une convention
de configuration runtime.
Ce qui vous permet de vous spécifier
que ce sont les variables que je carene.
Et ça veut dire,
que nous ne voulons pas juste poursuivre
toutes les variables environnementales
qui existent dans cet environnement.
Et nous pourrons les mettre dans votre app.
Ce serait une bonne idée.
Mais, en fait,
seulement ces variables sont prises.
Nous les typeons.
Parce que nous allons les passer.
Vous pouvez passer des bouillons, des numéros,
des sépaires, des arrays,
des choses, via un variable environnemental
qui est techniquement seulement un sépare.
Et on peut
rééter des codes en disant
quand vous vous en faites en code.
Oh, ce configuration runtime, c'est un sépare.
Ceci, ici, c'est un array de numéros.
Et vous pouvez en faire ça.
Et nous on le génére.
Mais ce n'est pas vraiment un code
que vous vous toucherez beaucoup.
Vous ne faites pas l'étiration.
Vous vous en faites un et vous consumez.
En tant que possible,
mais c'est bien, c'est bien,
d'avoir ce type de support automatique.
C'est drôle, ça ressemble bien.
Vous avez juste dit que vous n'êtes pas
un homme.
Je veux juste vous donner un moment
pour vous et vous montrer ce que c'est.
Vous voulez me faire un peu plus de ça.
Le code Gen est souvent
je ne veux pas avoir de
quelque chose à manger comme ça.
Donc, le plus automatique peut être le meilleur.
React a
joué beaucoup de hoop pour essayer de
avoir une saison de type.
J'aime que vous avez juste l'aider.
Si vous regardez
Next,
les components de service React
sont des plus longs play
pour avoir une saison de type
et vous avez fait ça sans avoir
de réinventer le rouleau.
Merci. Je pense que
on verra ce que vous dites quand vous essayez.
C'est intéressant
que Next est
un peu plus
pure, parce que
Next a inspiré Next.
Donc, Next a créé
ceci pour que Next existait.
Donc, Next a fait exactement ce que
il a abstracté pour React.
Et Next a été le même pour vous.
Et
c'est passé beaucoup de temps.
Donc, Next et Next ont tous
évolué dans différentes directions.
Mais parce que nous sommes dans le même
écosystème,
nous sommes face aux problèmes de la même.
Les développeurs ont essayé de créer des web apps
pour faire possible
pour eux de avoir une bonne expérience.
Et nous solvons les mêmes problèmes
dans le monde.
Donc, nous avons un moyen
d'un path
d'enverser et de diverger
en temps.
Donc, une des choses très différentes
entre Next et Next
est la extensibilité
de Next. Donc, nous avons un
écosystème de modules avec Next,
qui signifie que quelqu'un peut faire des codes
qui s'entendent de la suite de Next et de la façon
qu'on s'opère. Nous avons des hooks
qui sont appelés à des points différents
au processus de construction.
Et c'est possible quand TypeScript support a été
first added to Next, it was added as a module.
When
somebody wants to add a new authentication provider
or they want to add a CMS
or
any optimization
anyone can do it. It doesn't have to come
from the Next team
because these modules
can do anything.
In fact, a lot of Next code
is actually written as internal modules.
So it's very, very, very buildable.
Most
significant changes we make to Next
start out as modules to test them.
So it's not, like, everything that we use
is exposed
for anyone to use.
And that means, that has made a huge
difference just in terms
of how Next has grown and developed.
So we have a modules, a website
that indexes a lot of these modules.
Developers can sort of submit PRs
to our Next modules repo
and just add their modules. So we've got
hundreds and hundreds of modules
for lots of different integrations
that are maintained. Many of them
in a sort of Nuxt community repository
or organization.
But then there are lots and lots
of ones which are just fully
third party or even entirely private.
So within a company or organization
they'll have their own modules and configuration
that they share and install from NPM.
So I think that's one of the
interesting differences.
Obviously, at the moment
there's server components
that Next is
really championing
and sort of this move to the app directory.
That's all fun and interesting
to observe. I actually just published
an article about Nuxt's
server components. So we're obviously
we actually had them before
React. Don't tell anybody.
We had server components before React
and ours are very different. They're
implemented in a different way.
But again, we are
circling. We're in similar waters
and so
I think there's a lot.
We have a lot to learn from each other.
Something that I've always loved about
the view ecosystem and sort of Evan's outlook
is that he always takes the best
of everything that's happening
in the ecosystem or the community
really that's working in the view ecosystem in general.
So when View2 came out
it was like there was a similar
sort of virtual DOM implementation
and you could write components in JSX
if you wanted to. There were other really interesting things
and then as Felt came out people were like
oh disappearing framework. Evan's like
yeah we can do that too.
And you know, they kind of come in and
you know, Nuxt coming along and again
taking a lot of these lessons
and doing their own things. But you know
I remember the server side rendering story for View
was sorted out long before
React server side rendering story was
and it's kind of interesting to hear about the
server components thing being done early.
I mean even now
the friction
for React is so much
harder than for
View.
So basically
it's really
straightforward to write
asynchronous code or to write
data fetching into a Nuxt app
and also even faster
to code it. Like how it works
in View. You just have an asynchronous setup function
for the component.
We can have asynchronous
sort of route navigation
application. It is not complicated
in a lot of ways.
I mean it's very complicated with React.
Like there's a lot of
interesting work being done
to make it less complicated
and make it work better. But it is
a lot harder.
Whereas I think that's not
so much a problem in
Nuxt. Because of the
fact that it's being built on View and View
has a different approach to what a component is
and how a component renders.
That means that we can have
async setup and we can have async
route navigation just out of the box.
In the same vein
are there some other things that jump out to you
that are different in Nuxt
that maybe like next can't even do
just because of framework differences?
So some of the things
about this new server framework
it's like a server
meta framework called Nitro
which is then it builds
on lots of other tools that we also built
like H3 which is the
Express replacement and
there's a really convenient
fetch wrapper.
Still uses the fetch syntax but does things like
automatically pass JSON
and stringify a body and stuff like that.
And lots and lots and lots of other things.
But it's...
So here's something. We support
basically zero config deployment
to almost any provider you can think of.
So zero config deployment to Cloudflare
pages to Vercel
to Netlify to Azure
static web apps.
We offer... Some are not
zero config like AWS is not zero config
but it's just a choice
in your Nuxt config.
Basically almost any provider
that you can think of
we support and if we don't support it you can
configure it yourself.
And that is a lot of fun.
The fact that it
you just sort of push your site up
and when it builds in CI
Nuxt detects
its environment and configures
itself to build to that.
So I don't think Nuxt has that.
I might be wrong.
But that I think is a very, very nice thing.
Yeah, Nuxt is like the opposite where
I'm scared to move to any other provider
because it's so geared towards
their own back end in Infra.
I think that is a lot of fun.
We've done a lot of work
to try and make code that works in both
worker type environments
and node type environments.
So we've got sort of support for Dino
and Bun
and Cloudflare
and Lagon
all on sort of v8 isolate.
And so we emulate
quite a lot of node
certain kinds of node stuff.
So you can be using code which does rely on
on node. It's looking at the for a node request
object. So we sort of provide it
with a sort of fake node request object.
So the code still works.
And that's fun.
So I think, but I mean,
a lot of these things, it's just how it is
at the moment. It's not like
these differences couldn't be
less over time. I think
what else, what else
would you be able to do in Nuxt?
So we do a lot of work in the compiler time.
So we try
and optimize
things automatically. So for example,
I don't know, does Nuxt do this?
You have to tell me.
We'll extract
CSS that you use in your components and we'll inline
it in HTML. So you get sort of
I think Nuxt
does this. I think they just started doing this, didn't they?
So you get
sort of the critical CSS
required to render the page inline.
And then we render a subsequent CSS
via just CSS files.
What else do we do? We do stuff
like
early hints. We support writing early
hints. View transitions.
We have
View transition support and have actually since
April.
What else? What other kinds of things?
We have a lot of
We have a no scripts mode where you can run Nuxt
as a multi-page app with no
JavaScript at all.
We have support for
Oh, our server
components. We have a PR that's about
to land that will let you use
server components from any source.
So you can have a single
server, which is a sort of micro-service
rendering components for lots of different websites.
Which
could be quite a fun use case.
I don't know. There's lots of cool stuff happening
in the ecosystem.
I get to see a lot of it.
But really talented
contributors doing
interesting things with Nuxt. I think that
the open contribution model that
you guys and by extension View
has is really just drives this
growth and creativity where
the innovation doesn't have to be siloed
to a company or a team that's testing
it out before it ships.
You can actually iterate, you can ship cool
features without having to worry about
companies carrying. One thing that I do want
to ask, being that you are
leading up the core team, I know that
documentation is such a big part
of the View ecosystem as a
I'm curious about
how y'all talk about documentation internally
when you're doing just day-to-day
development. Is this like every
change you're shipping or like you have
line items? Like have we wrote documentation
for this or
what is the culture like around documentation?
So, Nuxt
3, particularly
I think
so we rewrote Nuxt entirely
for Nuxt 3, which I may not have said that
but basically we talked something like 2 years,
2 painful years,
maybe even more than that
and we rewrote Nuxt from scratch
et, during that time, Nuxt 2
was also not
looked after to the same degree that people
might have hoped for.
It was a
tricky time.
We're okay now.
We're sort of on a good
footing at the moment.
But we
had to do a lot of rethinking
for a couple of reasons, not just because
it was a big major version in View 3,
was hugely different from View 2
and
we didn't have primitives in View 3 that we needed
on day 1. We had to actually
wait until they were there
but also we sort of pivoted
to a new bundler, vite, halfway through.
So a lot of things were changing
as we went
and so we were not documenting.
So we had a moment
where we needed to document everything
and we're just working through lists to try
and get stuff documented. Even now there are some
gaps in our documentation. So I would not say
if you look at me, oh, there's a great culture
of documentation in
Nuxed. I think we do have some great docs
and I think that has been
largely contributors.
So we've had
people from the community who have documented
things. We have had
Nux Labs is a company that was founded
by the same people who created Nuxed
and actually a lot of
their team
joined in and helping us document
some of the stuff in Nuxed
and has really beneficial.
But it's difficult
to document well as well as
writing the code.
I mean, and if you don't do that
it's very difficult for other people to document it
because the best people to document
are probably the people who understand what it's doing
and probably the ones who wrote the code in the first place.
So it's
difficult to get wrong.
There are different skills too.
Maybe the person who wrote the code understands it the most
but they might not be able to explain it
the best.
Yeah, it's a paradox, isn't it?
It's Catch-22, I guess.
It's tricky.
So one of the things that's
interesting about the Nuxed
ecosystem is that you guys have
I'd say probably the best
developer tools around.
So for our audience who might not know
about them, can you explain what
Nuxed DevTools are in
like a small
subset of the things they can do for you
because there's a lot of things it can do.
So
Nuxed DevTools
are the
creation really
of Anthony Fu, I mentioned him earlier
as a great artist
and developer and he's been active
in the view ecosystem for a while.
He's also on the Nuxed core team
and they are, the Nuxed DevTools
are within
it's added by a module.
So one more thing
that you can do with a module. It's added by a module
and they are
sort of, it's an iframe
it's sort of injected by an iframe
in your code, in your app
that you view in the browser
and because it is injected that way
so it's not a sort of browser extension
that's sort of inspecting your
code, it's actually
part of your application. So you can
do a lot of amazing things.
So for example you could
pick up, there's a button that lets
you select any
HTML in your page
and it will highlight it. You can click it and it will take you
to the line in your IDE
in the source file
that that HTML comes from. That's amazing
you know, if you're working on a project
you're not familiar with and you want to change
that thing that you see there
is literally a click
point and a click and you're
at the file that does that.
You can see a sort of
interactive map of all the components in your project
and see which ones are used, which ones aren't used
you can even see a sort of
representation of them visually
you can see all your
roots in your app
your server APIs
you can actually log
all of the events that happen
in your next app
all of your auto imported
utilities. Whenever any one of those
is called you can actually see the timing
of it, how long it took to run
like the arguments that were
passed to it.
Modules and integrations that users
add can contribute
their own dev tools. So it's all
accessible in one place and you can actually have
something that's...
So for example, there's
we have a sort of social image
O.G. image generator
it contributes it's own dev tools so you can play around
with your social images and see what they look.
So it's basically really
extensible and it is pretty cool
to explore. I probably am not doing it justice
even. It's a lot of fun
and
our sort of core inspiration for that
was because we're doing so much for you
so there's a lot of magic
in a next project. We still need
to allow people to inspect
what is happening, what is the
exact magic that's taking place
you know, okay there are auto imports
but which ones
or you're transforming this code but
how are you transforming it.
So next dev tools basically gives you the ability
to pull back the curtain
and look to see what's going on under
the hood. So you can inspect
for example all of the code transformations
you do step by step throughout your
code base. And you can
see what auto import
components available and what
their names would be and what module
injected them and you can even click through to the
documentation for them. So
as much as possible it's about making
stuff visible
and also getting rid of the friction.
So you know if you're actually
in your app, clicking on
the bit of your app and getting
the documentation for it to tell you
where that component came from and which module
added it and what you need to know
about it. So and then you know there's
a lot more. So the best
thing to do is just check it out
if you're curious. But
it's, I think it's
in really great. Anthony has done a fantastic
and a lot of contributors
I should say have done
a fantastic job
to make it possible.
It's really unique in that fact that you can actually have modules
like hook into the dev tools
too. So just from the examples
on the side it's just like yeah you have
css or
vtest or something that's like integrated into the
thing. That's that's that's pretty cool.
It's huge. Some of it is just sort of
so you can yeah as you said you can run
your unit tests in the dev
tools in your app which
they are testing and actually use
the app
that they are testing to run
the tests. So it's actually
literally it is the exact environment
that you want to test them in.
And you can do that like there's even an experimental
VS code
embed. I don't know if you saw that. But you can
actually load VS code
in the dev tools
within your app
and edit your app which is hosting
the VS code
that you're using to edit it. I mean
it's total total inception territory
you know. This is
this should not be possible but
it is. It's pretty
it's it's almost like it makes it
a video game almost it's like
traditional coding it's like you don't really
know where to look it's like oh web
packs transforming my code
there's tests in the project if I'm
like a newbie coder I open up a project
I'm presented with a wall of files and don't
know what to do this kind of just like
contextualizes everything
and puts it in one tool and honestly
it's something I've wanted for a while so
it's really cool to see that the view
and Nux Deco system is actually like
taking that and making making the dream
real instead of just like I've seen
similar ones for webpack but
their scope is far far
far far less
yeah
I mean it's it's it's it's fun
it is it is it is fun to to code
that way as you say
and I mean a lot of it we were
able to to sort of try out
and so
we
Anthony and a few others Anthony
started a client for master
don and
three others of us
sort of four of us on the core team
and a huge community of contributors
over 150 built it
it's a client for master
don and it was a which is
an alternative social network
that Twitter and we were doing that
around about October November
last year and actually a lot of the
work on dev tools
and was able to be dog fooded with
with elk and actually so we were able
to try this so we had contributors
coming in jumping into
Nux project that they had never they never
used Nux many of them had never used view
and so trying to
make it accessible
that the sort of point in click to get to
the component they needed to add it is very
real like these are sort of
use cases and problems that we faced
when we were doing it which I think
was a really nice
way to develop something
actually
to be facing the same
same issues I mean I think developing a framework
it's easy to get sort of separated somehow
to be a little bit further removed from
a user of that framework
and so elk was a chance not to
not to have that. Yeah elk was a really cool project
so there's a lot of other tools
in this space
we just wanted to
highlight like one I guess collection
there's a lot of tools
labeled under like on JS
so could you talk about
what that group of tools
is and sort of what the goals
of those tool sets are.
So as part of
of building Nux
we needed to build
other tools and libraries
so Nitro is an example
some of the tools for example
that we used to detect the environment
you're in whether it's a cello
or not the fire or whatever
tools to build for worker
environments or others
sort of fetching tools
console tools, CLI
creation tools, lots and lots of things
we
we decided early on that we didn't want these to be
Nuxed only. We didn't want them to be
just we could
I mean Nuxed too was we just had our
sort of Nuxed Utils Package
and then we had a sort of Nuxed Contrib
organization where we sort of put some packages
up but really it was
Nuxed Contribute. We decided we didn't want that to be the case
and we actually
created an entirely separate organization
on GitHub called
onJS for universal JavaScript
utilities
and as much as possible
we've sought to take things we build for Nuxed
and open source them
and so we have lots of people
contributing. We have community
building stuff there that is really not Nuxed
focused. Obviously
Nuxed people are interested
and contributing too but we have plenty
of people who are not Nuxed, who are from other
frameworks and libraries
and our aim is
that this isn't just for us
I guess a lot of people who are
in open source, you know, we are
about collaboration and
building great stuff together
and nobody is trying to build an empire
so onJS is really a chance to put
our money where our mouth is and say
that's true, we want to build this together
we want to build something better
together than we could build individually
and so yeah
onJS is a GitHub organization
and it's a project and it's a lot
of packages
many of which you might
already be using but might not know
about
I was looking at sort of one of the packages
which one it was just the other day
sort of 3 million weekly downloads
Is that a console?
I think it might be
5 million
Are all of these taken out of Nuxed
or I feel like some people have donated packages
it kind of feels like
oh, we're a community of people maintaining
JavaScript, let's donate a package
so that if I happen to go away
the package can live on
So no, you're right
not all of them have come out of Nuxed
and some
some were sort of developed alongside
Nuxed, but not necessarily
taken from it
so yeah, so for example
I built a library called Fontaine
which aims to get rid of
font layout shift so when you're swapping
in a web font for the default
browser font there's a
flash because it's different size
and shape and Fontaine
basically aims, it takes an algorithm
developed by the Katie Empennius and the
Google Chrome team which was also then
used in Next Fonts
but it's Katie's algorithm originally
and we did the same
in Fontaine
and I originally built a SM module for Nuxed
and then realized, actually this is generic
so it can be used in any
framework, even next actually
but in DocuSaurus
and you know, Veepress
and Astro and any take your pick
it works universally
and I would say that wasn't taken from
Nuxed, it was just alongside
and stuff like Anthony
Foo developed Unplugin
which is a way of creating
build plugins that run
in any build environment
so they can run in Webpack
and Rollup and ESBuild
Veet and RSPack
and who knows
if you can create a new bundler
we might be able to make Unplugin
support it natively and so
that huge, and that was really
because of a need we had
which was, we wanted to support both Webpack
and Veet as bundlers for Nuxed
but actually, the code
and the project is entirely separate
and is used by lots and lots of people
who have nothing to do with Nuxed
in fact, probably Unplugin is used much more
in the Veet ecosystem than in
in the Nuxed ecosystem
I'm not exactly sure about the proportions
but I think it would at least be as much
in the Veet ecosystem as in the Nuxed one
so, yeah, it's not just like they were
taken out of Nuxed, I think
sometimes they were from problems we were encountering there
but, you know, there are plenty of people
doing things that are not
max-related and that's great
yeah, it's really cool to see that particular package
sounds very interesting
shifting fonts annoy me so much
I hate going to a website and seeing it render twice
yeah, I think that kind of thing
I think it's
it's not exactly the same
but there's a lot of scope
for improving the experience
of server rendering
because the benefit of server rendering
is that you have this
instant, like from the moment
it hits your browser
you have something that's rendered
that tells you that you can see text
you can see buttons
a lot of bad user experiences
are when that's not immediately interactive
when stuff then shifts in
and, you know, a banner pops down
and you click the button
but by the time your finger touches it
or the mouse clicks, a different button
is in that play
there are a lot of negatives associated with that
and those are things that we can really solve
at the framework level
yeah, that's awesome
so we've covered a lot of ground here
we started talking
earlier in our conversation a lot about
the development cycles and how
friction can slow down
this feedback loop
that's necessary for this creative process
to really thrive
and I feel like a lot of the things
that a lot of the work that you and the team have done
and Nuxed and the view
ecosystem has really
sought to smooth a lot of that
over, you know, provide
a smooth on-wrap
give good documentation, give a good out-and-box
experience, great dev tools
a lot of this stuff so when we're looking at
or when you're looking at kind of where we're at
now
and then thinking sort of about the future
of the web or building websites
what does that
look like to you
do you think there are ways
that will continue to work on reducing the friction
going forward, do you think there's
something else big on the horizon?
so I mean I absolutely do think
this is something we care
not just Nux but I think
we care about it, so one we care about it
because we are people and we are facing
friction
and so therefore individually we will all
care about this as developers
and developers we
we scratch our own itches
so we have the ability to develop tools
and immediately we try
and solve our own problems
so that is always going to be something
I think that we focus on and implement
and create solutions for
I think there are a lot of interesting
possibilities in terms of how we do that
so
GPT models, large language models
are making it possible to maybe
have slightly different and more out-of-the-box
solutions to some of that friction
so I joke that Nuxed 4
is going to be fully
AI generated, so you don't just
describe your app and that's what you're going to get
but I think there are
interesting possibilities there
there are projects like Glossier
which aims to
sort of deeply tie
your documentation for your project
with translation
which is AI generated
but also tied into translators
like that kind of thing could be really
really nice, could really improve
your experience in terms of
developing something. I think
translating developer experience into good
user experience is important
so we all can get caught up
in our own paper cuts
a little bit too much
and we sometimes forget the impact
of what we're doing on or not doing
on our end users
and I do think we can work
very hard to make this possible
so I am a firm believer
in deep compiler integration
because as a framework
can make a good
DX for users and we can
also optimize for
the end user experience
because we have full control
from the beginning to the end
in control of the bundler we can add
compiler plugins, we can actually
make this work and I think
that's something that we are only scratching the surface of
at the moment, so view is
we have an experimental vapor mode
coming soon where we have different kinds
of components that we can compile
server components are not fully out
of the experimental flag yet
in Nuxed, but that's a huge possibility
for both DX and
good user experience
sort of the
sort of frameworks like Qwik
are trying to think about what does
sort of partial hydration look like
I don't think it's the right
call but they're interacting
again they're trying to use the compiler
to make things
more performant on the final
consumption point
in the browser and I think
I don't think it's going to be Qwik's done
but I think I wouldn't be surprised
if there are things like that that end up getting
picked across different frameworks
so I think build tools
are going to be a huge part
of that and I think
I mean I think personally
stepping aside for a moment
the things that we're going to see less of are the boring
things, the things that we don't like
doing, those are our pain points
right, that's what we're going to be optimizing for
which is great, I hope that's what
AI ends up helping us with
the things that we don't like and keeping the
things that we do, keeping the magic and
the joy of creation and the artistry
Cool, with that let's move on
to tool tips, so first up
we have Raycast which
we've had on the podcast and both
me and Justin like a lot
I am a total fan of Raycast so
if you haven't used it, it is
a sort of
command space
replacement for macOS
you basically get
a command palette for your
computer, it comes
with a lot of things that you might like
like fight tracking and calculator
and like an automatic
the thing that got me was the automatic schedule
so it shows you
what your agenda is for the day
and you actually can just press enter
and it launches
the video conference of the next
appointment you're in, which is just amazing
DX
but you can also write your own extensions for it
and there's a whole store with people
writing extensions for different things
I wrote one for my accountancy
software, so I can
see like my bank, for my business
I can see bank details
and incoming transactions
and if I've reconciled them or not
and you know it's cool
you can build anything on top of it
Raycast is really nice
they have a new AI integration too
so you can sort of hook into chat
GPT but really
there's so much there
it can do window management and clipboard management
and sort of
quick linking, bookmarking
it's a sort of all in one tool
it's probably one of the first I install after I install on you
if I prefer to install on your computer
cool, so next up
I found this on Twitter
I think yesterday
one of my tooltips
from a past episode was
ShadCN slash UI
which is this CLI for
adding components to your app
in a templatized way
this is a way
to generate a form
with those components from a Zod schema
so it's like very much in line
with the like easy to use
fast iteration
you just define your form
and then you can generate a form
with your components
from your design system
in your project
so I love seeing little tools like this
that help you kind of get an idea off the ground faster
and help you iterate really quickly
so this is a little toy
that I found today
so the website is expensive.toys
it's by developer
Archer BM
hopefully I didn't put your name
sorry if I did
but his whole blog
is very delightful
he's got a lot of little widgets
that you can play around with
so Andrew you can spin the ring
if you just grab it and pull it
and if you spin it the other way
they disconnect
and yeah yeah you can
I don't know it's really fun
he's got a lot of really interesting
visualizations
and just toys on there
and yeah I don't know
his site is very delightful
I definitely recommend you check it out
it's so fun
we were talking a lot about the joy of programming
and when I see things like this
it just gives me the warm fuzzies
that people are still being really creative
on the web
and building fun things
this is amazing
so this is, I feel this should be an Anthony food tribute episode
because this is another Anthony food project
it is programmable
slides
so you write your slides in markdown
you can inject
components
so
view components
I don't know if React is supported
but you can just stick interactive
interactive code
in your slide deck
it supports transitions
it can export to a pdf
you can create a static website with it
you can pretty much do anything
you like
I've got my own integrations
that automatically pull photos from Unsplash
I have
one of my friends
has a sort of
interactive voting thing
where people scan QR codes
and audience and you get sort of live
voting
it's hugely extensible
if you're a developer you'll be right at home
and you can basically use it to create
amazing slide decks
that are
just markdown
and it's incredible
if you've not tried it, definitely check it out
it's really cool
yeah, I really love this tool a lot
and a lot of the other things
that Anthony's written
he's so prolific, it's kind of crazy
we also have
Episode 25
if you want to read or watch more stuff
that he's done so we had Anthony on a while back
he actually shared that too
and it looks like it's come quite a long way
since then
the QR code voting
that sounds just like next level
just to brag on him a minute
the level of polish that everything he does
has just blows me away
every time
I'm just like how many people are doing this
and it's like mostly 90% him
I'm just like how
I think
il a
un whole raft
de skills, mais je pense que
l'un de ces deux est sa capacité
de tirer des équipes
il a créé
un test de vite
il a créé un slide deck
il est sur le corps de Vite
de Noxt
et il va
créer un projet de vite
il va créer un team en train de
faire des décisions
il n'est pas micro-manager un projet de vite
qui est
quelque chose que nous avons besoin de apprendre
je veux dire
peut-être pas de réflexion
sur la compagnie générale
mais je pense
que cette art de
un team ensemble et de les entrer
je pense que c'est
un skill très spécial
oui, la cote
vraiment pas la partie la plus difficile
quand vous l'avez appris comment faire
c'est pas très difficile de faire plus
mais construire la communauté
et les produits
ces deux sont des skill très très
très difficiles de venir
et c'est certain que il a
un point important
ok, on a un autre
Daniel ici
à la Critie
je sais pas si j'ai dit ça
je prononce la lacrité
mais je ne veux pas
de la façon de toutes les prononciations
c'est un
un terminal
pour votre computer
il se démarre
Windows, Linux, c'est une plateforme
très customisable, j'ai mon super minimal
et c'est
incroyablement rapide
c'est le plus rapide que j'ai utilisé
et quand j'utilise un terminal je veux être rapide
je ne m'en profite pas de la feature
j'ai
j'utilise la Starship
j'ai T-Max
pour
dans le management de la Windows
il y a d'autres trucs
mais le terminal
le Windows qui s'en va
je pense que ça devrait être
aussi rapide et minimal
et je sais
d'autres trucs là-bas
mais la lacrité je l'aime
pour la vitesse, instantanément responsable
et ça se démarre
je l'ai utilisé
la Starship et la T-Max
ok, mon dernier
tourneville pour le jour est un petit
réacte qui vous aide à ajouter
des intérimètres pour votre app
des intérimètres, pas de fun
de code, des intérimements, pas de fun
donc un component qui s'en va
et qui s'en va
j'aime pas
c'est pas la plus customisable mais
pour un dev-focus dev-tooling
quelque chose comme ça peut vraiment être le travail
vous n'avez pas besoin d'un calendrier plus grand
ce genre de multi-input
ce qu'ils ont fait, ça a été
vraiment utile pour beaucoup de situations différentes
donc si vous êtes en train de
mettre en place un simple temps d'input
je vous donnerai un look
je suis moonlight
comme ingénieur mécanique
je ne suis pas de la main
mais je l'ai toujours voulu
j'aime 3D printing, j'aime les
des choses physiques
et l'un des choses les plus difficiles pour l'espace
c'est de la modélisation
il y a des outils de modélisation
Fusion 360 est un
très populaire
et le 3D printing
ou le espace de manufacture
mais c'est souvent difficile de commencer
en ce moment
comme l'option de sketch-up
c'est plus difficile de faire
les qualités pas si bonnes que les années
et je l'ai trouvé
Shapr3D
l'année dernière
et la chose cool de ce projet
c'est un programme CAD qui fonctionne sur un iPad
je peux juste
aller au café
et faire des printes 3D
juste sur l'iPad
ils ont travaillé très bien
sur les UX
de faire ça très naturel
très facile à faire
et en l'année dernière
ils vont faire
parimétrique
ils le font parimétrique
et je suis super excité
parce que parimétrique CAD
c'est très nécessaire
si vous faites quelque chose suffisamment compliqué
et tout le monde est sur le marché parimétrique
c'est très difficile de utiliser
je suis pas méchante
si vous voulez faire des trucs de la fin de la 3D
et vous vous dites
comment je vais commencer en modélisation
Shapr3D est génial
que vous avez modélé l'année dernière ?
je travaille
c'est très difficile de décrire
un ami de moi travaille
sur un
un
un papier de scroll
un papier de scroll
avec deux brackets
et deux moteurs
et ça scrolls
donc je pense qu'il y a un web page
mais aussi un physique
c'est une exploration
de ce que vous avez
un notebook ou un canvas
sur votre desk
ce qui est physique
comment ça va
j'ai été interpréter sur des brackets
et de moucher pour leurs services
et de faire des choses pour les dernières années
c'est pas le projet de l'analyse
il y a un autre
ok, dernier pour le jour
Plash par Cinder Soarhaus
il vient de l'aménagement
c'est un autre
incroyable
Plash est
pour vous embaître
sur votre site desktop
si vous êtes sur MacOS
vous pouvez
mettre des websites existants
modéler les CSS
je
ai un big desktop
je les ai mis
sur les barres de MacOS
je me suis dit que je voulais avoir
un cloc
et un petit dashboard
avec des autres clés
et des bits d'informations
je l'ai trouvée ensemble
dans un projet de nuk
il y a quelques minutes
j'ai trouvé le projet de Plash
et j'ai embaîté le site
que j'ai construit
c'est interactif, le cloc
change de temps
j'ai des stats
pour des projets
j'ai des objets
et ça me lève
c'est vraiment beau
si vous avez des choses à faire
vous pouvez construire
vos propres dashboards
ou vous pouvez
déployer un site existant
qui est déjà construit
et vous pouvez avoir plus que un site
donc ce n'est pas juste un
vous pouvez mettre plusieurs
et il y a un feature
où vous pouvez interact
pour s'enlogger
et puis faire un non interactif
c'est juste votre background
c'est très cool
c'est cool
ça me lève pour les tips
merci d'avoir regardé Daniel
c'était une conversation intéressante
dans un monde de JavaScript
avec très très peu d'interaction
merci d'avoir regardé et d'expliquer
tous ces concepts
c'est très bien, merci
je suis inspiré de voir le travail
que j'ai fait sur nuk
c'est depuis longtemps que je suis dans le ecosystem
peut-être que c'est temps de regarder
je suis très excité
et bien sûr, les gens qui l'ont écouté
vérifiez le travail
Episode suivant:
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