Stepan Parunashvili - InstantDB

Durée: 52m3s

Date de sortie: 19/05/2025

This week we're joined by Stepan Parunashvili, co-creator of InstantDB, a new database that's designed to make it easier to build local-first apps. Instant is a replacement for Firebase, and it's designed to be a more modern, more flexible, and more powerful database for the modern web. Join us as we dive into the details of InstantDB, the challenges of building a new database, and the future of local-first development.This episode is sponsored by WorkOS (https://workos.com)https://www.linkedin.com/in/stepan-parunashvili-65698932/https://www.instantdb.com/https://github.com/instantdb/instanthttps://github.com/stopachka

Nous avons construit un fitness app, nous avons construit des roulements de l'instant, et nous avons réalisé que ce besoin existait.
Dans le futur, il y a un truc qui peut être un truc qui peut être offre sur la chelonne, qui va simplifier la drogique qui est involved en programmation.
Bonjour, bienvenue à Demtools FM. C'est un podcast sur les tools de développeurs et les gens qui font ça.
Je suis Andrew et je suis ma co-host Justin.
Bonjour, tout le monde. Nous sommes vraiment heureux d'avoir Stapan avec nous.
Vous êtes l'un des créateurs de InstantDB, qui est une technologie très intéressante.
Nous sommes vraiment heureux de vous donner plus.
Mais avant de nous faire, vous voulez nous parler un peu plus de vous-même?
Bien sûr.
Hey, les gars, mon nom est Stapan.
Les gens me n'ont pas appelé Stopa.
J'ai aimé un programme, j'ai aimé les listes, j'ai aimé les rèdés.
Je suis un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d
d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un peu d'un Krais ne seonent que de ne pas
su Kong.
Qu'iles Sarnt Nonc Abid O
de me faire ouvrir mes yeux.
Donc, nous avons commencé avec ceci.
Je pense que les développeurs de la
vidéo sont simples pour les beginners.
Ils peuvent arriver à réévaluer les gens pour
construire des choses sérieuses.
Et puis, en temps de temps, deux choses ont
commencé.
En fait, si vous développez des apps web aujourd'hui,
vous avez des problèmes de la même manière
que les gens qui vous interviennent.
Vous avez le temps de vous intervier et vous


écrire des endpoints, vous vous faire
surement les permissions sont là.
Vous vous funnelz le data à l'avant.
Vous devez utiliser un store, vous pensez
sur des updates optimistiques.
Et fondamentale, ce n'est pas changé en
longtemps.
Je pense que la plus close que nous
avons appris de ceci, c'était le
Firebase.
Si vous utilisez le Firebase, vous n'avez pas
à faire des endpoints.
Vous pouvez faire des queries à l'avant,
et tout est réactivé par default.
Il fonctionne en ligne.
Et ce qui se passe est que,
par exemple, moi et mes best friends,
nous travaillons à des places comme Facebook
ou Airbnb.
Mais parfois, juste pour se changer de
démarche à l'intérieur d'Airbnb,
nous serions juste un Firebase
et nous devions montrer ce que possible.
Donc, le genre de
c'est qu'il devrait être plus facile de commencer
là-bas.
Et puis, nous avons commencé à construire
ces différents startups.
Et puis, en fait, dans l'une des startups,
nous avons utilisé le Firebase, mais
le grand problème est que
les systèmes
nécessitent des relations.
Vous devez pouvoir dire
que un poste a un comment
et que un comment a un user.
Et vous donnez tous les commentaires pour un user.
Et en faisant ça en Firebase, c'était
un chelette.
Nous avons gardé le problème.
Nous avons même regardé un blog poste
et tout le monde nous disait pourquoi
ne fais-tu pas un business sur ça.
Et nous avons dit non, non, non, non, non.
Ce n'est pas une bonne idée. Nous allons faire un app

Donc, en fait, quand nous nous avons
construit un app fitness, nous avons construit
des roulements instantanément.
Et nous avons réalisé que ce qui
doit exister, dans le futur, il y a
un tool qui peut être étudiant
sur la chelette, qui va
simplifier
la plupart des drudges
qui sont dans le programme.
Nous avons des parts vraiment
d'enregistrement, mais
c'est un step répétitive
de prendre le data, normaliser le data,
mettre le site dans la chelette, normaliser
le data, nous pouvons faire ça
plus facilement.
Oui, ça semble
être un topic
assez populaire,
en pensant
que l'app classique
est une architecture
3-layer, où vous avez
votre database, votre application
de la front-end, et la translation
entre les 3
est beaucoup de travail, et c'est
fraude et non-differentié.
Nous avons vu un rise
de les frameworks
de localité, que vous
pensez à votre database de la front-end,
ou votre data store de la front-end, vous vous interviendrez
et j'espère que les choses sont
bonnes.
Alors,
je pense que
où dans ce space
vous êtes le meilleur
ou le plus grand
d'answer pour cette question,
comment
vous décrivez ce que l'institut db est
pour les gens, et comment ça
se fit dans le space local ?
Oui, peut-être que d'une manière, je peux aussi
décrier ça, ça peut être un peu trop
extrait, mais je pense que c'est un
pattern d'architecture,
et que chaque architecteur
a de la solution d'un autre,
donc peut-être que d'expliquer ça, on peut
trouver où l'institut est le plus fort.
Donc, je pense que l'une de les moyens de
voir ce qui se passe et de l'organiser
est que dans les années 80,
on peut aller même avant l'an 80, mais on va commencer
dans l'an 80, vous avez un client
de l'institut,
vous avez des computers personnels pour le premier
temps, vous installez les choses dans votre
computer personnel,
et en l'an 80,
personne ne se prépare pas de la métro,
il y a une histoire fameuse, je pense que c'est
apocryphale, mais quelqu'un a demandé
à Steve Jobs,
qu'est-ce qu'il pensait
sur Internet ou Networking,
et il a pris un floppy disk, et le floppy
disk a été installé.
C'est votre netwerk,
mais à ce moment,
l'interstance est que, en l'an 90,
si vous regardez le software Microsoft Word,
ou Powerpoint,
c'est comme le pincot
de client software,
ça fonctionne vraiment bien.
Google Docs est,
en plus, pas mieux,
quand vous vous mettez le Microsoft Word
en 1998.
Il a tous ces grandes avantages,
mais il y a souvent
des disadvantages,
qui ont, en plus,
un, le type de la pièce s'y attirera,
vous devez mettre dans un box,
vous devez avoir des cycles de développement,
et vous ne pouvez pas
prendre le temps avec vous.
Vous êtes un peu de type pour votre computer,
mais en 2000, il y a un internet,
un software sur le service,
un software sur le service,
en termes de productivité,
qui détruit le client.
Le data est disponible tout le temps,
c'est plus facile de le manager,
vous pouvez le réchauffer tout de suite,
et puis, on a des choses comme les rails,
si vous étiez en app,
vous pouvez aller très vite.
Mais le software sur le service,
c'est que
chaque interaction est en
la milieu du service,
et, sans doute,
vous avez essayé de ne pas
être comme le client,
comme le software client.
Mais ce qui se passe,
Chrome se donne
plus et plus et plus,
pour le point où vous pouvez
faire des animations 3D
dans votre browser,
et tout de suite,
la networks ont un peu de plus,
et le browser a un peu de plus,
donc vous pouvez construire un app
différent.
Et ce app
a de travailler dans les deux places,
comme quand vous voyez
quelque chose comme Figma,
il fonctionne comme un app client,
mais c'est aussi sur la networks,
tout est collaboré
par défaut,
il fonctionne en ligne,
il y a des effets qui changent
le style de l'app.
Mais quand vous construis un app comme ça,
il n'y a pas de tools
fondamentaux pour ça,
donc c'est extrêmement difficile
de construire des appels comme ça.
Maintenant, pour aller tout de suite
sur la question que vous avez demandé,
il y a des faibles manières
pour que les gens puissent
essayer de se résoudre.
Une autre façon est le approach de la Rails,
où on reste fort et dit que tout
devrait se passer sur le server.
Mais le problème est que ça ignore la réalité
que votre browser est vraiment
puissant et que les machines sont extrêmement
bons.
Puis il y a un approach
qui est très
local,
dans le definition
de l'original Markman-Cletman,
où c'est extrêmement privé
et sans source de la vérité,
et ça peut être très bon
pour des systèmes de messaging
et des choses comme ça.
Mais le problème est que vous êtes
en train de se faire rire
des bénéfices de la networks
centralisées, où tout de suite
les apps ne peuvent pas
faire des choses comme ça. Ils sont
très bons pour un approach de single player,
votre note-taking app,
mais quand vous commencez à créer
un app multiplayer note-taking,
les gens vont être très difficiles
dans cet approach.
Alors où Instant sort un peu
dans le milieu, où on essaie de
être aso-propos,
on pense que les gens peuvent
construire les apps extrêmement rapidement.
Nous voulons faire ça pour que
Instant
soit le plus rapide pour construire
un app. Mais puis
on veut ajouter les
affordances
que Firebase a
qui font construire ces apps
vraiment fun.
Quand vous construisiez quelque chose
sur Firebase, l'app itself est
généralement mieux,
car c'est réactif, ça fonctionne vite,
des updates optimistes viennent de l'autre côté
pour la boxe.
Alors je dirais que Instant est
le milieu où on
fait de l'exemple de
construire des notions de lignes
et des choses qui peuvent être
involouées. Il y a des parts locales
qui nous permettent de faire surement
que les updates optimistes soient en place.
Nous voulons faire surement
que ça continue à travailler en ligne.
Mais vous voulez avoir des centralités
pour que vous puissiez avoir un état
de courser, vous pouvez
faire des problèmes comme ce qui
me dit la place ou la place



YE
je vous dis,anyway
we are like Firebases
who la buried
is
um
this spectrum.
the

mon
acquator dans

C'est un espace intéressant. Tu as commencé dans l'ère de la base de la fire.
J'ai commencé dans l'ère de la J.S. de Meteor.
Toutes ces nouvelles frameworks sont très bien élevées comme le promesse que la J.S. aie.
Mais je pense que la différence entre Meteor et J.S. était toujours en basse et juste de la sink à la cliente.
Il n'y avait aucun concept de ce type de base de base de base local.
Je pense que Meteor a vraiment inspiré la base de fire.
Il a aussi inspiré Luna dans Asana.
C'est un des premiers joueurs ou les premiers frameworks qui ont essayé de se solider les problèmes de ce genre.
Luna a été adoptée par Sigma et a créé un système qui a un peu de côté.
Il y a beaucoup de systèmes qui sont originés par Meteor.
On est toujours en train de se délivrer sur ce promesse.
Ce épisode est brought à vous par WorkOS.
WorkOS est une plateforme d'identité moderne qui permet de mettre des features d'interprètes à votre app sans toute la complexité.
Si c'est un single sign-on, direct-resync, audit logs ou fin-grange, WorkOS s'en dévient toutes les parts.
La meilleure partie est que l'expérience de la développe est vraiment bonne.
Les APIs sont clés, les SDKs sont disponibles dans toutes les langues de la majorité.
La documentation est juste une des meilleures choses que je ne l'ai pas vu.
Sérieusement, les exemples sont vraiment clairs.
Il y a des guides de step-up, des détails de déploiement de pratiques, tout est en bas.
Ils sont basés sur les basés avec des preuves sur la plage, des webhooks en temps réel et des outils comme Vault pour se dévier sur les credentials de la management.
C'est un espagnol pour commencer avec ce qu'il faut et plus de plus pour les gens.
Si vous êtes prêt à mettre des customers interprètes ou vous voulez juste être prêt à voir,
vériez WorkOS sur WorkOS.com.
On a parlé beaucoup de ce que c'est et de ce que ça fonctionne.
Mais c'est quoi que ça ressemble à quand vous utilisez ça ?
Qu'est-ce que l'app, un développeur, est en train de se dévier ?
Comme un développeur, l'app est comme ça.
En plus de l'utilisation de useState, vous vous changez et utilisez une query.
Et quand vous faites ça, tout de suite votre data s'est persisté,
toutes les queries sont réactives, vous avez un API pour off,
vous avez un spécial API pour storage, vous pouvez partager des cursus.
Mais les principaux changements,
c'est que, en utilisant useState dans vos réactives, vous utilisez une query,
et vous avez le data d'un database.
En parlant de la database,
c'est comme si vous devez aussi créer votre structure schema,
en quelque sorte, c'est comme le Prisma ou beaucoup d'autres data-layers
que les gens ne m'ont pas reconnu.
Vous pouvez parler un peu de ce design schema et ce que ça ressemble à ?
Il y a deux choses qu'on veut faire avec le schema,
et des autres inspirations, je vais les partager.
L'une des choses qu'on veut faire, c'est qu'on veut faire ça facilement.
Quand vous commencez, vous ne devriez pas définir un schema.
Si vous voulez, vous pouvez, mais il devrait être possible de ne pas définir.
Je pense que ça va contre les graphiques, mais je pense que c'est important,
parce que parfois, vous voulez vraiment bouger rapidement.
La différence entre un jour et deux jours,
c'est que vous avez le temps de construire un projet,
ou que vous n'avez pas le temps.
Nous voulions donc faire cette expérience initiale,
mais en parlant de la database, vous devez avoir des relations,
des constraints.
Le moyen de ce que vous définissez,
c'est que vous pouvez commencer à écrire un code,
vous pouvez commencer à sauver le data,
et vous pouvez vous créer automatiquement des tables.
Mais, quand vous êtes prêt, vous pouvez installer un schema.
Et sous la hood,
le schema fonctionne comme un database graphique.
C'est un peu esotérique, mais c'est aussi intéressant.
Le lieu où nous avons cette idée est de Facebook.
Nous sommes sous la hood, Facebook se tourne sur un database graphique.
Pourquoi est-ce important?
Parce que la plupart des temps, quand vous êtes en train de écrire,
vous devez avoir des questions,
des questions qui vous permettent de vous donner des questions.

des questions qui vous permettent de vous donner des questions.

des questions qui vous permettent de vous donner des questions.
Vous devez avoir des questions,
des questions qui vous permettent de vous donner des questions.



Ce que j'ai dit, c'est que la structure de graphique est beaucoup plus idiomatique.
Donc, sous la hood,
l'instit fonctionne,
donc pour faire que les deux choses travaillent,
nous devons supporter des relations,
nous voulons faire cela super facile pour vous,
pour commencer à construire sans un schéma très strict,
nous avons fait le travail sur le database graphique.
Avec ces systèmes distribués,
il y a beaucoup de problèmes différents que vous devez avoir à faire.
Et en cela, vous devez balancer deux choses.
Le récit optimiste instant,
où l'Ui
montre à l'usage que l'instit est le cas,
et puis l'éventuelle consistance
de rapprocheter ce qu'est le cas en arrière.
Comment balancer ces deux?
Et quel est l'approche instant?
Je dirais qu'il y a beaucoup de pragmatismes ici,
quand nous avons commencé à travailler sur cela,
beaucoup de nos fellows initials
devraient résoudre les RTQs
pour vraiment faire ce travail.
Mais il y a des surprises,
que les RTQs,
si vous regardez comment les R&Ds
ou les Figma,
ont utilisé les deux les dernières deux.
Ce qui est théorétiquement un RTQ,
mais je me sens que ça nous débrouille
la définition un peu en termes de difficulté.
Donc, la façon dont nous faisons les choses comme cela,
c'est d'abord, il y a un approche de progrès
qui, en défi,
est la niveau de l'attribut.
Donc, ce qui signifie,
si vous avez, on dirait, un layer Figma,
et que vous changez la couleur fondue,
et que quelqu'un d'autre change la dimension fondue,
ce n'est pas un conflit.
Mais si les deux changent la couleur fondue,
ce sera un conflit.
La façon dont cela fonctionne par défaut,
c'est comme cela.
Quand un utilisateur change la couleur fondue,
en avant,
nous gardons deux différents états.
Nous gardons un RTQ
de toutes les transactions que l'utileur a fait,
dont le service n'a pas
d'inquiétude dans le query.
Nous disons,
d'un point de vue de l'utileur,
ce n'est pas le plus important.
Si un change se passe,
qui se passe avant la transaction,
nous pouvons le faire sur le top
de ce change.
D'un point de vue de l'utileur,
ils sont toujours en train de voir le change qu'ils ont fait.
Maintenant, ça va se passer
au système,
et ils vont retirer
ce changement de la queue,
et ils vont être en basse state.
Pour la majorité de cas,
ce n'est pas le problème.
Mais dans les cas où
vous avez
plus d'issues
de consistance,
je pense que c'est quelque chose
que les plateformes peuvent essayer de
se solider, mais vraiment,
c'est un domaine business.
Vous devez savoir
comment vous voulez un conflit
pour résolver.
Il y a
beaucoup de parler, comme, par exemple,
les CIDT peuvent vous aider à résolver le conflit,
mais en effet, ils ne sont pas fiers,
parce que
parfois, il va arriver
à une solution convergente,
mais ce n'est pas la convergence que vous voulez.
Vous pouvez les faire
pour que ça se converges,
mais souvent, je pense que
l'approche de l'AV20,
qui est la plus lente de la notion,
c'est de faire les dernières deux points pour tout,
et que, si vous soyez au point où vous soyez,
vous pouvez
faire le data dans un endroit
et faire une décision
sur ce qui devrait arriver.
Je pense que c'est un sujet qui va
bien se faire
à la question de la question,
par exemple,
par exemple, l'Institut est
en train de construire un store triple.
Il y a
un database dans le monde de la closure
qui s'appelle The Tommac,
qui est où j'ai appris
à commencer le store triple
et je suis assis
que c'est le basis
de le database graph.
Vous pouvez avoir un
niveau de détail
de ce modèle de data
et de la façon dont ça peut être différent
que les utilisateurs.
Et pour le faire,
si il y a quelque chose sur le store triple
qui s'envoie, vous avez parlé
d'un point intéressant pour entendre.
C'est un question très intéressant.
Je vais
commencer par nous remettre en compte
la façon dont vous pouvez découvrir
le store triple, par exemple,
imagine que vous vouliez construire
un database et que vous voulez
supporter les relations.
Vous voulez pouvoir dire que les utilisateurs
peuvent poser et que les gens peuvent avoir des commentaires.
Et que vous voulez que ça soit vite.
Et puis, vous vouliez aussi avoir
des chiffres et des chiffres,
mais c'est votre constrain.
Vous pouvez essayer de résoudre ce problème
dans plusieurs manières.
Vous pouvez essayer de résoudre ce problème
par implémenter
l'ensemble de la salle de SQL.
Mais le problème
c'est que
la langue de SQL est très large.
Et
je pense que si vous commencez
à créer un database, comme la compétition
de postgres, par exemple, ça va être
un truc très paix.
Il y a 25 ans de
excellente
recherche qui va dans le travail.
Mais maintenant, ce que le store triple
peut faire c'est que si vous pensez
que le plus simple de la façon
d'exprimer les relations,
vous pouvez dire
que vous pouvez imaginer que
vous avez un table, vous avez un table,
et
vous disiez que pour un rôle
vous pouvez expliquer et vous disiez par exemple,
user ID1,
nom, Andrew,
user ID1,
favorite color blue,
et puis pour avoir une relation
vous pouvez dire, user ID1,
podcasts,
DevToolsFN
et
et tout de suite, vous avez cette relation.
Ce model
originait
de la date de la date de l'IDF et de
toutes ces choses où c'est un très
bon moyen d'expliquer les factures
d'information qui agrogue ensemble.
Le bon moyen de
l'adverter, je pense,
pourquoi est-ce que c'est si utile?
Il permet de faire 3 choses pour nous.
L'un est, je vous ai mentionné un client,
il faut que vous puissiez faire des queries
localement, pour vous faire
travailler en ligne et pour avoir des updates optimistes.
Si nous voulons
faire des queries de SQL localement, nous devons
utiliser quelque chose de SQLite
qui est un très grand
binary pour ajouter
l'adverter
d'une application de

Vous pouvez mettre un
query engine sur ça,
100 lines de JavaScript.
Il ne sera pas
efficace, mais vous pouvez
faire ça très efficace.
Il y a
une littérature.
La première chose que le triple store
aide, est que
vous pouvez maintenant
mettre un code
qui est un code
très très petit.
La deuxième
chose que le triple store aide,
c'est que le triple store
est naturellement bien
à la résolution de ce conflit.
Parce que,
par exemple,
Andrew, le préféré de la couleur
bleue,
Andrew,
le bleu de la couleur
bleue est un
inta



une Dhon d'incendie, mais c'est un
단D à
des
bases.
Qui ne peut donc pas
ce type de courier en train de faire quelque chose comme Postgres et de faire des bénéfices
là-bas. Ça fait du sens ? Je pense que je devrais avoir passé très très fort, donc laissez-moi savoir.
Je me sens comme expliquer que les stores triple en format audio sont un problème de faire de toute façon.
La chose qui me déroule quand je l'ai lu sur Tomic pour la première fois est qu'ils ont
cette page au point d'établir le schéma universitaire où ils se laissent comme, oh si on
était en train de faire un database, vous pourriez avoir une table, c'est comme une table de table
et c'est comme le très uniforme type de data. Et je l'ai lu dans ma main quand je l'ai
laissé. Donc vous devez être vraiment bon avec les index, je suis sûr, pour faire
ce qui est feasible. Je pense que pour faire un peu de ceci, vous avez designé votre propre
langage courier pour InstaDb aussi. Et il y a des choses que j'aime beaucoup. C'est comme
en ralJS. Ça me rappelle un peu de GraphQL sans avoir besoin de la sort de
la langue. C'est cool que vous puissiez faire ça. Mais quelque chose qui m'a
fait partie est que ça comporte un data log. Et pour ceux qui ne sont pas
connaissants, un data log est comme une langue courier, spécifiquement pour des
templates comme DataStores ou Tomic. Vous pouvez nous dire un peu plus,
mais c'est un peu plus important. Et c'est un peu plus important que vous



Et c'est un peu plus important que vous puissiez faire ça. Et c'est un peu plus important que vous
Pouvez-vous faire ça ? Et c'est un peu plus important que vous puissiez faire ça.





C'est un peu plus important que vous puissiez faire ça. Et c'est un peu plus important que vous





que vous puissiez faire ça. Et c'est un peu plus important que vous puissiez faire ça. Et c'est un peu plus important
que vous puissiez faire ça. Et c'est un peu plus important que vous puissiez faire ça.





que vous puissiez faire ça. Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça. Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça. Et c'est un peu plus important que vous puissiez faire ça.

Et c'est un peu plus important que vous puissiez faire ça. Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça. Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça. Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça. Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça. Et c'est un peu plus important que vous puissiez faire ça.





Et c'est un peu plus important que vous puissiez faire ça.

Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.





Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.

Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.











Et c'est un peu plus important que vous puissiez faire ça.






Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.








Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.



Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.


Et c'est un peu plus important que vous puissiez faire ça.

Et c'est un peu plus important que vous puissiez faire ça.



Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.








Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.








Et c'est un peu plus important que vous puissiez faire ça.


Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.



Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.


Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.



Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.

Et c'est un peu plus important que vous puissiez faire ça.



Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.







Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.


Et c'est un peu plus important que vous puissiez faire ça.


Et c'est un peu plus important que vous puissiez faire ça.

Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.


Et c'est un peu plus important que vous puissiez faire ça.

Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.



Et c'est un peu plus important que vous puissiez faire ça.
Et c'est un peu plus important que vous puissiez faire ça.
Vous pensez que si vous vous bitesz leur ci Lawy,


c'est utile d'avoir construit tout ça dans le même nombre de languages.
J'ai trop passé par la 창 أ führt à des languages de périodes Akbar
et à pouvoir th Bam !
Prener des تو录,��o de iTunes, des laptops, des libraries grandes...
Tout ça peut Aunt Stackup
s'adapter à la maintenance.
La chose qui При-Eonie

dans ce п jardin forming
Je pense que déjà logical ne jamais
ce sont des actions labor börjar
r'envers une plainte.
Je crois qu'on devraitstill
ça fait beaucoup d'eux.
Merci du pour needles
comme un star de la place où on est,
quand nous faisons cette recherche,
des manières simples pour que vous puissiez résoudre ce problème,
c'est d'avoir, par exemple, la sécurité de la base de rouleau,
ou les ACLs.
Mais le problème est que, éventuellement, vous avez des issues
où vous ne pouvez pas expérer ce que vous avez besoin de expérer
dans ces langues.
Vous devez dupliquer votre modèle de données
de votre base de données à un ACL.
Donc, nous n'avons pas besoin de ça.
Nous voulions le faire,
et vous devez expérer les relations
de qui vous pouvez voir,
et c'est un endroit seul, comme votre database.
C'est là où nous sommes.
Maintenant, on va mettre
une autre chose que j'aime,
c'est le record de la rouleau.
Je pense que c'est un bon moyen de décrire
comment un objet ressemble à l'objectif.
Ou un email qui a été passé par un régex,
quelque chose comme ça.
Donc, on veut qu'on soit en train de faire
quelque chose qui ressemble à un record actif.
C'est assez cool.
Je pense que le record actif est un bon target
parce que c'est un objet très straight forward
pour impliquer.
Qu'est-ce que l'autorisation
qui est installée dans l'INSTIT B?
Qu'est-ce que ça ressemble à aujourd'hui?
Est-ce que vous pouvez nous faire un tour?
Si vous vous êtes tenté de mettre
un basse off-flow ou des conditions.
C'est là où ça fonctionne.
Quand vous commencez,
nous ferons tout en promis.
Vous pouvez commencer à hacker et faire les choses
le plus que vous voulez.
Quand vous êtes prêt à ajouter,
il y a un start-up.
Vous copier un start-up.
Vous pouvez avoir des emails magiques
qui sont en train de travailler.
Vous pouvez avoir un signe avec Google.
Il y a une integration avec Clerk.
Maintenant, vous avez l'authentification.
Quand vous avez l'authentification,
vous pouvez maintenant mettre des permissions
basées sur cette authentification.
Vous pouvez aussi mettre un ordinateur
sans avoir l'authentification,
mais je vous ai regardé les choses
que vous normalement trouvez.
Et ensuite, il y a un language mini
où vous pouvez mettre des règles spéciales
que chaque objet.
Vous pouvez dire,
je veux faire sure que un post
peut seulement être édité par l'adresseur.
Vous pouvez dire une ruelle
comme off.id,
c'est equal à post.owner.
Et puis, boum!
En tout cas, quand une transaction
s'accorde à l'adresseur,
nous allons vous garantir un variant.
C'est un outlier.
Il y a des choses cool que vous pouvez faire.
Parfois, vous ne voulez pas avoir off.
Vous avez un système où vous pouvez
passer des contacts secrets
sur le front-end,
pour que vous puissiez avoir quelque chose.
Si vous connaissez les passwords secrets,
vous pouvez voir les données.
Des choses comme ça.
Un password protecteur
comme chatroom.
Exactement.
Cool.
Un problème avec les applications
qui font beaucoup de synchers de données
sur votre système local
est ce que vous pouvez synchrer.
Quand vous parlez de l'adresseur,
si vous vous en faites un,
un instant de l'instance de votre équipe,
cela pourrait être un tout bonnet de données.
Comment vous décidez de ce que vous pouvez
synchroniser et comment
le sync de l'adresseur vous arrive?
Oui.
C'est aussi ce que les choses locales
commencent à diverger.
Si vous faites un système local,
vous avez besoin d'un sync de l'ensemble de la database.
Ou quelque chose qui est approximé.
Mais vous ne pouvez pas avoir un code Twitter.
Vous pouvez vous en faire.
Nous avons pris l'inspiration
de Asana Luna
via LiveGraph.
La façon dont ça fonctionne,
nous ne sommes qu'un data que vous inquiétez.
La façon dont ça fonctionne,
le front-end envoie un bunch de queries
au service.
Nous répondons à ces queries.
Nous cacheons
tous les queries actives,
mais aussi les queries inactive
sont encore cachées.
Ce qui se passe,
nous vous envoie un slice
que votre data s'en occupe.
La façon dont la structure réactive
fonctionne, vous pouvez penser
que vous vous en faites ces queries.
Ces queries ont
ce que Asana appelle
un sujet.
Un sujet
qui explique
quelle partie de l'index
que ce sujet s'en occupe.
Pour exemple,
vous en faites des posts
où l'adresse est...
Je vais vous en faire un peu,
mais sur le table poste,
de cette range à cette range,
c'est ce que nous carenons.
Et quand la transaction
s'occupe,
nous détaillons la loi de la droite
de poste.
Nous pouvons générer
des sujets de cette range.
Vous pouvez dire que ceci invalidate
la table poste de cette range à cette range.
Et basé sur ceci, nous pouvons faire un match,
invalider la query
et envoyer un update à l'adresse.
C'est assez fort.
Les téllogues sont super fort.
C'est comme des engines de la ténégologie.
C'est assez clé.
Je pense que la question d'adresse
sur le top de ça,
vous avez mentionné l'arrivée,
et je l'ai vu en parler
dans les docs.
Si vous voulez faire un style de Figma,
un style d'expérience,
où vous avez deux curseurs
qui se sont montrés dans la fenêtre,
vous ne voulez pas en sauver
ces positions de curseurs
à la base de la database.
Je pense que vous devez
le faire,
comment vous faites la question
de la réelle?
C'est une bonne question.

Nous avons un état de separate
pour ça.
Parce que si vous pensez
au problème de la présence,
c'est un peu simblier.
Parce qu'il n'y a pas de relations
et de présence.
Vous ne pouvez pas dire
que vous avez seulement la présence
pour cette châte ou un peu plus.
C'est juste un objet.
C'est beaucoup plus facile
d'invalider les bonnes pieces.
Et parfois, vous ne pouvez pas
invalider, vous avez juste
envoyé la nouvelle information
que l'utilisateur t'aie.
La main chose qu'il faut faire
c'est de garder tout ça en mémoire.
Ce que nous avons fait,
c'est que nous avons créé
un offert sur le top de l'instit.
Et ce que ça fait,
tout l'information présente
est juste en mémoire.
Vous pouvez juste penser
d'un map en mémoire
comme le système très basé.
Maintenant, comment vous faites
ça au travail quand il y a
plusieurs machines?
C'est là où les choses
comme la clé et nous sommes
heureux de parler de ça.
Pour l'utilisation,
il y a des solutions belles.
Il y a un livre qui s'appelle
Hazelcast, qui fait que vous pouvez
partager les structures de data
par les machines.
Donc, nous avons un instance
de l'instit dans notre main
de machine qui fait que
vous devez continuer de
concruter les présences.
Vous vous enjoins un,
vous avez votre propre présence,
vous pouvez envoyer des messages.
Et ça se convainc
tous les logiciels de la base

Parce que pour ça,
vous ne voulez vraiment
aucune latence.
Vous voulez avoir
cela comme simple comme possible,
comme vite,
de point A à point B.
Donc, ce que nous faisons, c'est que
nous faisons tout en bas,
tout en même temps,
quand il s'agit de présences.
C'est assez cool.
Oh.
Donc,
oh, vas-y.
Oh non, je suis juste...
J'aime l'awesome.
Je vous donne...
C'est difficile.
C'est difficile.
Je pense que tout ce que vous
vous en faites est en fait difficile.
Donc,
je pense que vous en faites des props.
En parlant de les choses difficiles,
vous avez probablement
des choses très bonnes
pour le futur.
Qu'est-ce que vous en faites?
Je pense que...
Oh, man.
C'est intéressant de
faire un start-up
dans ce que...
Il y a des phases
qui ont été start-up.
Et la phase initiale,
c'est juste de la recherche.
Et ça ne me sent pas comme un start-up
parce que vous n'avez pas d'un peu d'accueil.
Donc, c'est presque comme un emploi
avec beaucoup de
de la recherche technique.
Mais quand vous avez des clients,
les choses vont être très sérieuses.
Et vous devez vraiment faire sure
que les clients soient heureux.
Donc, je pense que c'est un peu
des choses que nous travaillons
envers Raoul.
En fait, nous devons aller plus loin.
Donc, si quelqu'un
est en train de
entendre ce que ça veut,
qu'il se réagisse avec nous
depuis San Francisco,
nous serons très heureux
de nous avoir fait cacher

Parce que, à ce point,
vous pouvez imaginer
ce genre de système de géant.
Et ce qu'on doit faire
c'est qu'on doit faire
tous les parts de ce système
de la bonne façon possible.
Donc, que ça soit possible.
Alors, je pense que
vous pouvez déjà commencer à construire
presque une app
sur le lit, mais
si ça se fait plus
et plus et plus,
on veut pouvoir soutenir les entreprises.
On veut pouvoir...
Par exemple,
sur iOS et Android,
maintenant, on ne veut pas
être réactivés.
On a un type script library.
Donc, vous avez des types automatiques.
Mais je pense que, si vous regardez
les choses comme type ARK,
c'est un exemple
où je l'ai récemment vu
où je suis dit, wow,
ces gars
font des choses louvres.
Si nous pouvons faire des choses comme ça,
dans notre site de service,
nos utilisateurs seraient très heureux.
Donc, il y a juste
beaucoup de travail à faire.
Je pense que les principales
choses sont des utilisateurs
de faire les choses le plus heureux possible.
A chaque place où
les gens ne sont pas en place,
on veut juste
faire la qualité de la barbe
plus et plus et plus.
Je l'ai toujours adoré
des lignes,
des mots que l'on a un policy de 0.
Donc,
je pense que nous voulons y aller.
Nous avons des bugs,
mais chaque fois,
on les essaye de les résoudre.
Donc, c'est le genre de state qu'on est.
On a besoin de plus, c'est la main énergie.
Donc, si vous êtes...
Si quelqu'un vous regardez,
si vous êtes intéressés,
vous pouvez vous en acheter.
Oui, les types de types
pour être parfaits pour votre utilisation
n'ont pas de petits tasks.
Definitement, Andrew.
Definitement.
Oui, vous avez beaucoup de différents zones.
C'est juste que la langue courte
est une bonne chose.
Oh, oui.
Oh, oui.
Je suis heureux.
Je pense que le nom de l'usage est
State Cats
on stack overflow.
Oui.
Chaque fois qu'il y a une issue,
on s'en stack overflow.
Il y a un type script wizard
qui tient la temps pour nous aider.

des choses comme ça.
Mais, oui,
avoir trois ou quatre membres,
je pense que
nous serons très excitées
pour...
Nous avons
des entreprises de plus en plus,
mais nous voulons vraiment faire surement
qu'on puisse les servir
avec des supports délicats,
des choses comme ça.
Donc, je pense que
nous avons un grand équipe.
Toutes les usagers seraient heureux.
Oui.
Le type art fait des contractations.
Donc, si vous voulez
un bon type script expérience,
vous pouvez probablement payer
quelqu'un de ça.
Oh, merci.
Merci.
Donc,
où vous êtes?
Qu'est-ce que l'idée que vous utilisez?
Si les gens sont en train de regarder l'infrastructure
comme ce que vous avez dans votre building,
qui sont les types de customers?
Qu'est-ce que vous voulez vraiment?
Oui.
Je pense que maintenant,
nous avons trois types de types de customers.
Donc, l'un de ces sont vraiment en train de construire
nos chambres de la ligne Figma.
Donc, si vous voulez construire ces choses,
je pense que l'instant vous allez vraiment
jeter de construire ça plus vite.
Et,
vous savez, nous sommes toujours en train de construire,
donc je ne vais pas dire que nous allons...
Vous savez,
si Figma nous a dit aujourd'hui,
je dirais que, ok,
nous allons prendre 6 mois.
Mais si vous êtes un start-up
et vous voulez prendre le risque avec nous,
je pense que vous pouvez avoir un grand risque de faire ça.
L'autre côté,
c'est des gens qui ont vraiment aimé le prototype vite.
Donc, nous avons beaucoup de gens qui,
par exemple,
sont construits un start-up et ils ont pivoté.
Et ils doivent pivoter et essayer
des idées différentes.
Je pense que maintenant, l'instant,
c'est probablement l'une des plus rapides
que vous pouvez pivoter,
ou construire un produit de scratch.
Donc, je pense que ce sont les types de...
des jeunes start-ups
qui sont en train de prendre un petit risque,
mais qui veulent être très productifs,
je pense que ce sera un très bon client.
C'est cool.
Andrew, vous voulez faire le futur?
Oui, sûr.
Donc, nous aimons toujours poser une question de futur
pour finir l'épisode.
Alors,
qu'est-ce que vous pensez que la technologie de la frontière et de la première?
Quelle est la technologie de la frontière?
Est-ce que ce sera la standard
pour ce que les gens pensent de la frontière?
Vous voyez le balle aller en quelque part?
C'est une bonne question.
Je pense que l'un des mots originales
que j'ai commencé à faire 45 minutes à l'an dernier,
c'est que je pense vraiment qu'il y a un mouvement architecturiel.
Et nous...
Nous sommes un client seulement parce qu'il n'y avait pas de réseau.
Nous étions un réseau
parce qu'il n'y avait pas de client sur le browser.
Et maintenant, il y a deux.
Et c'est un shift fondamental
dans le moyen...
Dans le moyen que...
Les matériaux que vous avez sont maintenant différents.
Donc, vous ne pouvez pas construire le même moyen que vous avez construit avant.
Et je crois vraiment que, pour construire
l'autre,
presque chaque app en un futur,
il va se sentir comme un notion lignée ou figma.
Ils vont travailler à tout point,
ils vont travailler sur votre téléphone, ils vont travailler sur la tablette,
ils vont travailler sur un laptop, sur quelqu'un d'autre,
sur quelqu'un d'autre,
mais ils vont se sentir d'une très bonne modélité.
Et ils vont se sentir très vite.
Mais pour faire ça, je pense qu'il y a de la structure.
C'est ce que je pense vraiment que les choses sont en train de se faire.
On peut parler de l'AI aussi,
mais je vais se concentrer sur les tools de devs.
Allez-y.
Oui, je pense que...
On a eu ce qu'on a vu en avant,
mais comme vous l'avez parlé,
en 80s ou quand-même,
c'était plutôt un client.
Les capacités de la construction internet
et les devs ont été très riches.
Les expériences multicolores,
la structure n'était pas là.
Et quand c'était là, on était vraiment correct.
Et en 2010,
beaucoup d'autres ont exploré,
et on va juste construire un spa.
C'est un peu de pêche.
Et puis, c'est une séance de correction.
Je ne sais pas.
Il va se balancer.
Je me sens comme si c'était...
C'est comme si c'était de la tétringue
plus au centre.
On va se sentir qu'on a besoin d'un autre.
On a besoin de s'interact avec leur software
sans le server toujours en dédiant tout.
C'est la plupart du temps.
Et bien sûr, c'est des places pour technologies,
comme l'Elicia's LiveView,
qui fait tout sur le server.
Mais c'est une expérience de temps en temps.
C'est bien pour certaines situations.
Mais je pense que les choses sont instantanées
pour beaucoup d'autres outils.
Parce que c'est...
Il y a plus de pression pour construire les apps plus vite.
Je pense que vous êtes sortant de la honte vers l'A.I.
Il y a aussi...
Je pense qu'il y a quelque chose à être dit
sur un area de surface à plus petit pour faire plus de choses.
Même si les costs d'abstraction peuvent être très très hauts.
On a plus de appetite pour ça, je pense.
C'est certain.
Je pense que vous avez un bon point sur le spa,
parce que je pense que le plus grand erreur
que nous avons dans ces espaces de spa
était que nous étions plus OK avec une perspective de développement.
Et puis, le plus grand erreur est
d'être OK avec une très grande productivité de développement,
mais pas de qualité de software.
Je pense que ça va être les deux.
Et je pense que c'est possible.
Je pense que le futur de nos enfants
est construit comme un appétit très beau.
100% de l'effort.
J'espère qu'il va y arriver.
Je pense que c'est un bon moment.
Je pense que c'est un bon moment.

Je pense que c'est un bon moment.
Je pense que c'est un bon moment.
Je pense que c'est un bon moment.
Je pense que c'est un bon moment.








Sous-titres réalisés par la communauté d'Amara.org

Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

devtools.fm:DeveloperTools,OpenSource,SoftwareDevelopment

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

Lien du podcast

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

Go somewhere