James Arthur - ElectricSQL

Durée: 58m51s

Date de sortie: 08/07/2024

This week we talk to James Arthur, co-founder ElectricSQL, a local first sync engine for Postgres. ElectricSQL wants to make it easy to build local first apps with Postgres. Instead of worring about how to sync data between devices, ElectricSQL lets you reason about your database as local and running on your device.

Episode sponsored By Clerk (https://clerk.com)

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

avec ce que nous faisons avec l'Electric SQL.
Nous sommes un type d'engin de technologie,
comme dans un moyen de remplacement pour le façon dont vous faites le transfert
quand vous construisiez les applications.
Donc si vous utilisez les API restants ou GraphQL,
comment vous avez des données de la frontière à la back-end ?
Bonjour, bienvenue à le DevTools FM Podcast,
une des podcasts pour développer les tools et les gens qui les font.
Je suis Andrew et je suis ma co-host Justin.
Bonjour, on est vraiment heureux d'avoir James Arthur avec nous aujourd'hui.
James, vous êtes le créateur, le founder,
le cerveau derrière l'Electric SQL.
Je voudrais entendre plus de ce que vous travaillez.
Avant de nous dévier,
vous voulez dire à notre audience un peu plus sur vous-même ?
Oui, sûr.
Je suis un des co-founders de l'Electric SQL.
Je pense que je suis probablement le plus généraliste de la team.
Je ne suis donc pas le genre de cerveau.
On a co-foundé une entreprise
avec des researchs de des systèmes de la compagnie des mondes.
Mon co-founder, Volta,
vient de mon background de inventer beaucoup de technologies de la cor
que les gens de notre espace utilisent.
Je suis un développeur général,
j'ai fait beaucoup de choses dans le building.
En fait, comme développeur,
j'ai été porté sur des systèmes distribués.
Le gars qui m'a dit de la code,
il était le founder de la FreeNet
pendant les derniers jours de la web distribuée.
J'ai introduit un type de monde
de systèmes distribué de la base de la base,
mais je suis plus un producteur généraliste.
J'ai fait beaucoup de développement de software.
Avec ce que nous faisons avec l'Electric SQL,
nous sommes un type de technologie de synch.
C'est un replacement pour le fait que vous faites un transfert au stade
quand vous construisiez les applications.
Si vous utilisez les API restants,
ou GraphQL,
comment vous avez les données de la frontière de la back-end ?
Pour moi, c'est un genre de généreur.
J'ai joué avec des types de gens,
réact, relay, off-line.
Comment fais-je avec les droits locales
et les données de synch ?
C'est mon point de vue.
Il y a beaucoup d'autres gens sur le team
qui sont les smarts
qui ont réellement solved les problèmes de la frontière.
Gacia, j'ai été honnête de vous présenter
quand vous avez donné votre talk à la conférence de l'Ontario.
La chose que j'ai vraiment aimé de votre talk
est que votre storytelling est la plus forte.
Vous pouvez donner un petit tour de ce que vous avez parlé ?
Et expliquer ce que l'Ontario est pour notre audience ?
Vous avez entendu beaucoup de cela ?
Oui.
Le conférence de l'Ontario était organisé en Berlin.
Il a envoyé des gens
de cette sortie d'un secteur d'urgence
pour la première fois.
Il y avait des discussions fantastiques
qui se sont envoyés par des gens comme Martin Kleppmann,
Johanna Schinkling,
qui a été la première en général.
Et beaucoup d'autres gens
qui ont construit des plateformes,
comme jazz, replicat, etc.
C'est vraiment sympa de vous parler.
Mon talk s'appelle Little Elephants Everywhere.
Et c'était vraiment en parlant
de la défense de ce que vous pouvez faire
dans le client,
aujourd'hui,
un des plus importants et techniques
de ce nouveau pattern local.
Le software local,
c'est le local verse,
parce que vous vous vous dites
d'abord à un database local
et puis le data s'inscrit dans le background.

en fait,
dans cette sorte de pattern où
vous devez être en ligne
pour faire des données
et vous pouvez parler de l'application web,
vous avez cette expérience locale
et puis des data s'inscrit.
Et l'une des choses qui ont fait
cela possible
est l'obligation de maintenant
pour protéger les amoutages de données
avec des garanties de durabilité
et de la performance de la client.
Et donc je parlais de Wazom,
un système de finance privé
mais c'était appelé
Little Elephants Everywhere
parce qu'on a un projet
appelé PG Light,
qui est un nouveau
Wazom de postgres.
Donc,
pas seulement pouvez-vous faire
des choses comme
RUN SQL Light
ou DUP DB
dans le browser,
ce qui est comme des databases
qui ont été designés
et ont été invédés
pour rassembler le client.
Il y a beaucoup de choses
que vous pouvez faire dans le client
que vous pouvez maintenant
vous pouvez faire
vraiment bien.
Donc,
c'est le thème de la parole.
Il y a des souvenirs
de rester dans la maison
de Dream Heaven
dans Udaipur,
dans Rajasthan,
en Indie,
quand la lune a été élevé.
Donc, je vais juste rester
là-bas
quand je voyage.
Et vous allez au Udaipur,
c'est la ville où
c'est le palais de l'île.
C'est comme dans
Optipusy,
le film de Bonn.
Et donc vous avez
cette lune
en milieu de
ce magnifique Indien.




Et donc,
c'est comme dans le film
d'un film
d'un film





d'un film d'un film
d'un film d'un film
d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d'un film d

n l install luc d'being deux cas par des mannequinsSe 체 ning
avec le sync dans le background.
Vous n'avez pas de code à travers le réseau.
Vous n'avez pas de cas de récourage.
Vous ne faites pas de données manuellement.
Donc, l'Electric SQL est un système
que vous pouvez utiliser pour faire ce genre de background
du partage de la architecture de l'architecture local.
En particulier, il est focussé sur le sync de postgres.
Donc, c'est le data relationnel avec l'intégrité.
Nous faisons des choses comme l'application partiale
de votre modèle de postgres.
Nous maintiennent l'intégrité database
quand vous faites cela.
C'est un genre de synch-engin rigoureux
pour faire le local au-dessus du postgres.
C'est vraiment cool.
Quand vous vous affrontez à des utilisateurs potentiels,
comment parlez-vous de l'application idéale
ou de l'app idéale
pour lever l'Electric SQL ?
Qu'est-ce que ça ressemble ?
Je pense que l'une des choses que nous avons vu
est que si vous regardez notre class de base
moderne et collaborative,
vous avez des systèmes de software,
des systèmes de figure,
des liens, des superhumains, etc.
Il y a une qualité de l'expérience de l'usage
pour ces types d'applications
qui ont fait un peu de nouvelle barre
sur ce que l'application est de bon ou de bon.
Ils sont construits sur l'architecture locale
car ils sont construits sur ce modèle
d'avoir un database local et de l'invélation.
Ça fait que ils sont instants.
Vous avez une collaboration de multi-usage en temps de temps
qui est une collaboration
qui est construite dans le design de l'esynch systeme.
Ils sont résilientes
donc l'application fonctionne pas de quoi que soit.
Si vous êtes offline,
si vous êtes en train de faire de l'activité.
Donc, en fait,
ce que nous voyons c'est que
pour la prochaine génération
de ces types de secteurs
ou de la base moderne et de collaboration
de collaboration,
vous devez...
Si vous ne vous sentez pas comme linear,
si vous vous sentez comme gyro,
vous vous sentez comme old.
Et personne ne va utiliser votre produit.
Et dans ces zones où
la qualité de l'expérience de l'usage
est un élément important
pour les utilisateurs et les grosses producteurs,
tout le type de software,
d'où c'est le sas,
le dashboard, le software de management de business,
le software d'information de management de l'information
va changer à ce nouveau paradigm.
Et donc,
il y a des catagories
d'application qui ont commencé
plus tard avec le local.
Comme les applications de note-taking
pour la raison privée,
ou applications comme point de sale,
ou des softwares à l'air,
qui ont un besoin de travail.
Mais ce que nous essayons de faire avec Electric
est un peu plus comme des rails pour le local
qui est un modèle standard
pour les applications standard interactive
que les équipes utilisent.
C'est la majorité de la software standard.
Donc, si vous venez de 15 ans,
vous devez construire avec Django ou Rails
et peut-être que maintenant vous devez
construire avec Next.js
ou quelque chose d'autre.
Mais vous pouvez prendre ces frameworks
aujourd'hui, pour qu'on soit en train de
faire le premier approche de l'économie de l'Etat
et c'est comme tout le software
qui va être construit en futur.
Donc, quand nous nous sommes en train de parler
de Toulouse, de linear,
je me suis demandé si vous avez construit
ce grand engin de la sink.
Est-ce que c'est un libraire que vous pouvez
facturer ou quelque chose ?
Est-ce que c'est vrai que
Electric SQL a fait ça
et a fait ça pour tout le monde ?
Oui, très bien.
Linear est une vraie app
de la finding.
Il y a beaucoup de lessons
de ce qu'ils ont pu construire
et de l'expérience de l'usage.
Ils ont pu pouvoir délire sur l'architecture
de la sink. Electric est très
comme si vous voulez construire Linear pour Hex.
On est un outil de plateforme qui vous permet
de faire ça sans avoir à payer
4, 6, 8 millions d'euros en ingénieurs
de la sink engine.
Nous voulons remercier notre sponsor
pour la semaine, Clerk.
Clerk offre un bon usage
pour ne pas se dévier de l'authentification
et vous pouvez commencer à construire
votre app plus vite.
N'importe qui veut être en train de
faire attention à l'offre
ou à l'app pour faire attention
aux features de la monnaie.
L'offre n'est pas
un des choses.
Avec l'offre, vous devez impliquer
des choses comme multi-factor,
SSO, magique
et des links magiques.
Si vous avez tout ça impliqué, vous devez
aussi le monérer.
Vous n'avez pas besoin de boites
pour rejoindre votre site.
Clerk fait de l'offre
pour votre app, comme simple
de plopper des components.
La grande chose avec Clerk est que vous n'avez pas
de trop apprendre à l'authentification.
Pour la plupart, vous vous devez
faire un tour de leur bas,
vous vous dévierz des components,
vous customisez les components si vous vous
ressentez le genre, et puis vous
vous avez l'authentification et vous vous
dévierz sur le tout cool.
Clerk est une grande company et ils font
des choses comme soutenir la communauté
et la communauté en large.
Mais l'une des les plus cool que ils font
pour la communauté est leur plan de frein.
Avec leur plan de frein, vous avez
10 000 utilisateurs monthly et ils ont
un grand programme qui ne vous payent pas
pour votre client le premier jour.
Si votre app s'appuie sur hacker news
et un peu de gens s'appuient et utilisent
l'app pour 30 secondes, vous ne vous payez pas
pour les gens à l'utiliser à l'app.
Si vous voulez apprendre plus
sur Clerk, vous pouvez aller
au clark.com pour les regarder.
Ou vous pouvez aller au episode 75
où nous avons une chute avec un co-founders
Brayden. C'est intéressant de voir
où ils viennent et où ils veulent
prendre la company. Si vous êtes
fiers de entendre ces ades, vous êtes un membre
de plusieurs channels que nous offrons.
Avec ça, vous allez avoir des ad-fris et un peu
plus d'un an plus tard. Si vous voulez
trouver une autre façon de soutenir le podcast,
head over to shop.debtools.fm.
Vous pouvez vérifier un peu d'un
peu plus d'un merch. Avec ça, nous allons
aller au épisode.
C'est quelque chose que vous avez mentionné
avant, c'est un point technique, mais
je voudrais parler de cela plus. C'est
une réplication partielle.
L'issue que vous pouvez avoir
sur les appes locales, c'est que
selon comment votre usage est
grand, si vous avez un app
que vous avez utilisé à l'organisation,
il y a peut-être
beaucoup d'ad-fris de données
pour cela. Si vous êtes
sur un équipe et que vous avez
un modèle linéaire et que vous avez besoin
de vos tickets sur ce équipe, si vous devez
attendre pour détenir les 10 000
autres tickets de l'organisation,
avant de voir les choses importants
pour vous, cela fait une expérience
pour le pauvre, même si c'est
moins de network cops.
Comment vous pensez-vous
que cela se défendra?
Qu'est-ce que le problème se solide?
C'est l'un des problèmes plus
plus difficiles que le premier space.
Oui, et il y a
un trait de
des applications
ou des webpages,
où un service de rendition
vous permet de faire le plus vite
pour avoir un rendu webpage
devant un utilisateur.
Et puis, vous avez des applications
qui sont plus liées à un app,
où vous avez un install
large et où vous utilisez
l'application sur un basis en haut.
C'est certain que, où vous avez
des choses comme un load
d'académie de la cliente,
et que vous vous lavez
un large set de datasets, et que vous
lavez tendre à 20 MB
comme résultat de la 2,
cela a tendu à
être vu en appuyant plus de
cette application web,
comme l'institut de webpages.
Maintenant, techniquement,
il y a une raison pour laquelle
vous n'avez pas de combination
d'un rendu de plus vite,
et puis, vous pouvez
optimiser les deux si vous choisissez
d'y aller.
Une des choses intéressantes
aussi, est que
l'amount de données
que vous avez besoin
ou que vous pourriez être
bloqués par un database relativement
pour que vous puissiez
être relativement bas, si vous comparez
à la taille de un petit vidéo
que vous pourriez mettre à la page web.
Mais ce qui est
généralement arrivé, c'est que vous vous endvez
sortant de la data, par des queries
de base relativement
de base, c'est relativement
plus lent à la load.
Et c'est souvent le throughput
de la data, ce n'est pas
bâté par la taille de la data,
c'est bâté par la technologie
de la technologie, de la technologie, de la
manière dont vous vous appliquez
dans un local de la data store,
des triggers de réactivité qui se débrouillent
par le temps que vous vous bloquez.
Donc, si vous
loadez quelque chose de 10 megabytes
de data sur le premier load d'une application
et vous avez une bonne connecté de Internet,
vous ne pourriez pas vraiment attendre
l'amount de temps à tout.
Donc, une des choses que nous avons
focussées sur avec Electric, est de
avoir un très rapide temps initial,
pour que c'est plus rapide
pour charger le data dans Electric, et c'est
pour que vous inquiérez le base de base
directement.
Donc, je pense qu'il y a un peu de
différentes approches pour essayer
de, avec le local premier architecteur,
vous avez cette constrainure
d'avoir, dans un cas,
un database
pour le client, et puis avoir
ce sort d'initiel de data
avant que vous puissiez avoir
la responsabilité. Vous avez des projets
comme le Zero project,
que le team de replicage
travaille maintenant, qui fait de
vraiment cool choses pour
avoir la optimization du système,
de la date qui est la 1ère, et de la date
qui est sortie dans le cache sur le device.
Et c'est l'une d'une approche, qui est
vraiment intéressante pour
être un petit peu plus smart, pour optimiser
ce data fetch, et ce que la date
doit être dans le device avant que vous
puissiez rendre avant le fold, etc.
Et ils font un très cool travail en optimisant
ça. Mais vous pouvez aussi avoir
des choses où vous pouvez aller. C'est 10 ou 20 megabytes.
Si je fais ça en fait, c'est juste
déployer le site d'OfficierDN.
C'est en fait, le user
s'est passé 3 secondes et c'est là.
Il y a un couple d'approches différentes, et c'est
ce que nous avons fait, en essayant de
optimiser le temps initial
comme un premier step.
Oui, un intéressant effectu de la 2ème order
de ce que vous avez mentionné
dans les docs, c'est la saveur de la cost.
Je trouve ça vraiment intéressant
d'avoir un peu de votre data local
et de faire ces queries locales.
Ça vous permet de prendre un peu de votre money.
C'est un peu comme cacher
toujours un peu comme un
russian doll, et le modèle
au-delà est le plus effectuel.
Si vous pouvez choisir de cacher
n'importe quel point, cacher le plus
près de vos utilisateurs, et cacher
sur leur device est le plus
effectuel.
Si vous avez un workload cloud,
et vous êtes en train de
mettre ça avec des services,
ou de mettre des services,
ou de mettre des services,
vous pouvez aller au site local
et prendre le workload query
de votre database.
Vous pouvez faire le
workload de la database,
et si vous avez des sessions
interactives, vous pouvez
définir ce que vous voulez,
ce qui peut être un load
officiel, ça peut être cacher
et vous avez un stream de replication
pour l'ongoing.
Donc, comme sur un
cost basis, vous pouvez
éliminer un grand portion
de votre workload cloud.
Vous ne vous en avez pas besoin de
beaucoup de services, en beaucoup
vous pouvez juste aller au bout du
load de choses qui se sont en train de
faire des services de la base,
qui font souvent des choses pour
faire des données entre les frontières et la base.
Vous pouvez éliminer un whole bunch de
infrastructure de la base, et aussi
prendre le workload query
de votre cloud.
Il y a un autre aspect
qui est un peu
beaucoup de travail qui se passe
dans le whole cloud ecosystem,
c'est la réliabilité d'engineering.
Si vous êtes en train de
faire des services sur la scale, vous
allez avoir un nombre de 9 et vous
vous gardez votre service en ligne.
C'est parce que vous avez besoin de votre service en ligne,
si votre application est construite dans le système,
qui est en train de faire le networking
sur le path d'interaction, si votre service
est en ligne, le user s'en a
des expériences. Avec le local 1er,
parce que c'est en ligne capable,
le user est interactué avec le
local data store, si le service est en ligne,
le user ne peut pas le noter, et
ça ne se passe pas beaucoup,
certainement pour une grande proportion
de l'activité d'interaction avec l'app.
Vous n'avez pas besoin d'engineer
des dégrés de la réliabilité,
et c'est comme chaque extra 9 sur
votre réliabilité, c'est un autre 10x
sur vos costs opératifs,
et vous avez beaucoup de SREs
qui sont très expérients pour
faire ça. Et le local 1er,
pour beaucoup d'applications, vous pouvez
faire le même, avoir beaucoup de modèles
pour que vous puissiez avoir du temps.
Vous n'avez pas besoin de faire des déploies
pour que vos applications ne le notent pas.
Donc ça réduit le besoin
d'engineer la réliabilité,
qui est beaucoup de la expérience
de faire les systèmes cloud 1ers.
Je me suis demandé
ce que ça a looked
like to
operate
Electrix Equal & Production.
Donc, on peut dire que vous avez
un traditionnel,
peut-être que vous avez un app
avec un database postgres,
ou un app traditionnel,
et que vous utilisez le REST,
ou que vous utilisez GraphQL,
ou que vous utilisez quelque chose d'autre,
et que vous voulez
lower la complexité opératif,
ou que vous voulez
bouger à quelque chose d'électrique.
Qu'est-ce que ça a looked like
pour prendre cette route ?
Ce que nous avons essayé de faire avec Electrix
c'est
faire le déploie compatible
avec les modèles postgres.
Si vous êtes dans une situation
où vous avez une application
qui est construite sur Postgres,
vous avez un API laire,
et vous avez un code front-end
qui parle de ce API laire.
Pour utiliser Electrix,
vous devez
utiliser le service Sync,
qui est disponible pour vous-même.
C'est un service Sync.
Vous avez le service,
qui est de plus près de votre database
dans le cloud, qui connecte
à votre database URL,
et qui donne un WebSocket
pour l'application de l'application
pour votre client.
Vous avez un library client
dans votre application,
qui connecte à votre application
et qui embeds votre database local.
Donc, on peut éscouper
l'application, mais dans des applications
on a aussi un build pg-lite
qui est un database alternative.
Vous devez
commencer par dire que vous voulez
utiliser un part de votre model de data
postgres, donc vous devez avoir
un modèle de data large, et vous devez
prendre un part de votre data,
et repliquer un part du site
dans votre application local.
Vous devez peut-être faire partie de votre application
en temps réel, ou en ligne off,
ou peut-être que vous avez un load de
high query, et vous devez remettre
le load de query pour ce part de votre application.
Vous devez choisir
d'obtenir les tables,
et nous avons un primitive
qui est un replication de control
de part, donc vous définissez les
formes qui sont comme les formes de la data
qui s'incitent au local.
Vous définissez ces formes, et dans
votre client, vous avez
un client database,
vous pouvez aller au
db.tablename, et vous avez un
API prisma style pour interagir
avec ce database local, et vous
définissez ce que la data s'incitent,
vous installez la libraise, qui est
portée à l'aide d'un
BILD de SQL Lite, donc ça
additionne des dépendances dans votre
client site, qui est peut-être un
traitement opérationnel pour considérer,
mais vous devez simplement commencer
à swap des données de data bindings
pour votre component.
Donc, pour exemple, si vous avez un
réact application, nous
nous avons donné un use live query
et vous pouvez simplement
binder un query au database local
pour un variable de state dans votre component,
et puis ce variable de state
reste live quand la data change,
et tout le monde automatiquement
rendra et reste réactif.
Vous pouvez donc généralement
garder toutes vos compagnons de frontière,
et donc, vous pouvez either intégrer
l'électricité dans votre pattern state
ou, si vous avez utilisé
quelque chose comme MobX ou
quelque chose, ou si vous avez co-locé
des choses comme reduced
ou sort de fetch, ou,
d'ailleurs, vous allez juste binder
les données directement dans les compagnons
et vous pouvez parler de la base local.
Donc, il y a deux points qui sont
vraiment très importants, vous avez
votre back-end, où ce que nous
essayons de faire est de faire que c'est
compatible avec les models post-gros
des données, donc vous n'avez pas de
chose à changer de la chose
sur votre back-end systèmes,
et puis, en le front-end, c'est
tout simplement de la façon dont vous
choisissez de lire et de rédacter
les données de votre component, et de
binder ce genre de données à vos compagnons.
Vous pouvez utiliser l'électricité
dans le front-end, comme un replacement
pour Redux entièrement?
C'est comme si le spot très
sweet pour moi, ici, est, avec
l'électricité, avec nos conversations
avec les founders, interagir
c'est juste, il y a
une certaine chose, juste d'un
point de vue de vie de développement,
je sais, par exemple, avec Linear,
une des choses que ils ont vu, c'est
que vous avez cette sortie de séparation
où, si vous vous êtes construit comme
une application web sur le front-end,
vous avez le droit de coder les interaccès
avec ces appels de web service,
c'est ce qu'ils ont fait, c'est qu'ils
ont juste la store local, c'est
comme une store local, et vous
vous avez juste le droit de coder contre ça. Et
le bas-end est abstracté de l'envers du
front-end, donc c'est vraiment
bien, en termes de la séparation
des risques, parce que le bas-end
ne faut pas se prévoir sur le front-end
et vice versa. Et aussi,
comme l'expérience de développement, vous pouvez
juste le faire à la store et vous ne
n'avez pas besoin de faire d'autre, donc c'est
beaucoup plus simple.
Donc, depuis que nous
utilisons l'électricité pour le management local,
c'est-à-dire, qu'est-ce que la
ligne déliné de, je veux des choses
de ce genre de choses à être
synced, et d'autres à ne pas être synced,
ou est-ce que ça s'est tout de suite
en fin de l'end, comme, où est-ce que
la ligne est en train de se dédrailler ?
Donc, vous avez un aspect
de dire, je veux contrôler
ce que l'on a de la date, et donc
c'est comme, est-ce que cette date
s'est déclenchée au local, est-ce que ça
s'est déclenché ? Donc, qui est-elle
qui est-ce que ça s'est déclenché ?
Donc, c'est une chose, et c'est là que nous
nous avons des contrôles sur la réplication
et les APIs.
Vous avez aussi
cet aspect de, si vous avez
cette base de database
clientaire,
ce qui est intéressant, c'est que ça
devient comme un store unifié.
Donc, vous avez, typiquement,
dans votre architecture d'application, vous avez
la base principale, ou la base
principale de la application de données,
et puis vous avez le state UES,
aussi. Et dans le client,
vous avez une solution de management
d'un certain nombre de sortes, de
des sortes de stands, de des sortes de
sortes de sortes de sortes de sortes de sortes
de sortes de sortes de sortes de sortes de sortes de
ce genre de pattern que vous utilisez.
Et certainement, le prospect, et
c'est certainement où ça va aller
avec le local, c'est que
vous pouvez juste combiner tout
dans un store unifié,
c'est sorti localement disponible,
c'est réactif, et ça peut
simplement s'y prendre et ne pas
avoir une layer d'admission
comme je l'ai mentionné, le team de
replicage, Johanna Schinckling
travaille sur un projet appelé
Live Store, qui est la succession
de un projet appelé Riffle, qui est
développé par Incan Switch, qui est
le premier local de base de base
et
ce qu'il travaille
est un très optimal réactif
dans le client,
sur le local d'un database
et il y a beaucoup de travail
d'éginir, pour pouvoir faire
ce modèle,
donc le idéal de l'expérience de
un développeur est que vous pouvez
faire un droit au database local
et c'est ça, et tout le
autre qui, pour exemple, est besoin
de réprimer, pour refaire le changement
de la data, pour pouvoir le réactiver
et le réprimer. Mais, en
le client, et particulièrement en le
browser, et avec ces
databases, vous avez un challenge
de performance, car vous ne voulez pas
bloquer le main, et aller
dans un out-of-wasm, en temps texte, et
différents travailleurs ont des
interfaces sync ou async,
donc, typiquement, ce qui
fonctionne très bien, en ce moment, est
des interactions standard,
comme si vous avez des électriques,
si vous utilisez
vos bindings live query, et vous
vous réagissez directement au database
d'invédé, si vous vous
vous faites une simple form base
ou une page standard, la réactivité
est tellement rapide, vous ne vous notice pas
tout ça, tout est instant, ça se sent
magique. Si vous avez
une page plus visuelle, avec
beaucoup de data et beaucoup de bindings
réactifs, ou vous êtes
en train de faire des sortes de
complexe, comme interface réactive,
quelque chose avec
des sortes de graphiques et des
pannes interdépendantes, et peut-être
des présences de temps réel, etc.
Vous vous trouverez
que vous avez besoin de faire des
management de l'estat, des choses
comme la performance de la
base locale et de l'exploitation
de l'exploitation, vous allez
prendre deux frames d'animation,
ou prendre un peu trop long,
et vous pouvez avoir un petit
petit peu de gête entre ce que vous
avez vu avec votre curseur, et le
update de l'estat est un peu
derrière, et c'est un expérience suboptimal.
Comme je vous dis, il y a
des libraries comme LiveStore,
qui travaillent sur l'optimisation
de la partie de l'estat, et je pense que
vous avez juste le premier
de cette partie, et tout le monde
fonctionne. Mais si vous
faites un petit peu plus complexe
de la partie de l'estat, qui serait
plus grave, en termes de
de l'activité de l'estat,
vous avez encore besoin de
faire des crafts pour votre
cliente d'estat.
Ça fait un peu de sens.
J'aime l'avion d'une
partie, un sujet qui nous a touché
beaucoup ici sur DevTools FM, est
de la façon dont on a
des barrières entre les compétences
et d'avoir des protocoles de transfert
et juste cette idée que
j'ai une app, qui intervient
avec le database, ça peut être
synché, ça ne peut pas,
ça semble comme une expérience
de brin et de la pétale.
Et ça sort de la façon dont ça
devrait être, si vous pensez
dans le futur des compétences
optimistes, vous devriez
avoir un point de vue de déclaration
d'un point où beaucoup de gens
travaillent dans le premier space de la
place, sont en train de bouger
et comme développeur, vous ne
allez pas avoir à faire des codes
d'un an, vous avez un temps de
writing, il y a des choses
où vous avez un
AI generatif qui peut générer
une plate de boiler pour vous
et aussi une application
qui peut créer des API restants pour vous,
mais vous ne allez pas
avoir besoin de la plate de boiler
parce que le besoin pour ça va se faire
donc je pense que
c'est un point optimal
pour comment le software
a été évolué, en tant que
réactivité et le management de la
state. Oui, je pense qu'il y a beaucoup
de forces de marché à jouer ici
parce que c'est
évidemment beaucoup de pression
pour avoir des teams plus
plus bas et plus bas de
expériences de qualité et
si votre équipe est en train de
faire un plus
d'anciens school de manière plus
plus vieille, mais vous avez
4 ou 3
de la compute, c'est
une translation
de translation, votre speed de
interagence va être très slow, c'est
difficile pour vous de vous
garder avec ce que tout le
tout le monde s'est mis en place
et je pense que
tout le monde s'est poussé
pour ça, c'est de la temps
que l'on parle de la code, de la
chose qu'on a vraiment voulu
et de la temps moins élevé
que la code, tout le monde
sur les égages de
ce que peut être

Et
dans cette
pensée, il y a
un problème de distribution
et c'est difficile
et c'est sûr que nous avons
des
simplités, mais
je ne sais pas
un peu plus difficile, de la
construire un API restant
sur la surface, c'est comme
une très simple chose à faire, mais c'est
neuf, et ça t'en fait
longtemps et ça te fait
encore plus vite, et c'est comme
ces choses qui semblent être simples
d'understand, sont juste
problèmes non triviales, et ils
finissent en enlever un ton de temps, et les
entreprises se soluent de temps en temps, et
ça se passe, et c'est comme
on veut juste construire des appels
je pense que l'une des beauté
c'est que le
est statuel,
il y a un moyen de
solider le problème
de distribution, mais
si on peut construire
un software restant,
oui, on a des problèmes de
reliant, mais c'est
assez simple et bulletproof,
je pense que le problème est
ce que nous avons vu, c'est
que le software est
en train de se faire, vous avez un
protocole de temps en temps, il y a
un certain niveau d'expérience
de l'experience de ce software
qui a appris
ceci, et ça a
appris les choses, comme vous le
disiez, les gens
qui sont en train de
faire des protocoles en temps, et
d'en faire un, pour qu'ils
puissent reposer les laitres de complexité,
et que les systèmes distribués
sont bien distribués, et que
les gens puissent faire
leur propre travail, et que
les études de la situation
ne peuvent pas être
contrôlées, et
si vous pouvez
faire des transferts
dans le terrain de la laitres
et que vous avez des
systèmes de la laitres,
qui vous permettent de
se faire solider le problème de
l'expérience de la situation,
ou de pouvoir
déliver ces expériences modernes.
Dans votre
doc, vous avez mentionné les CRDTs
beaucoup, les CRDTs
ont aidé à résolver
les conflits et les données,
vous avez aussi mentionné
les CRDTs, les riches,
les CRDTs,
que vous pouvez nous
dire comment l'électric
utilise les CRDTs, et
que vous avez

qui peuvent réclamer
les updates concurrents, et
qui sont toujours en même état.
Ils sont
très primitives pour
construire un sainte-l'air,
comme nous l'avons essayé de
éliminer les conflits
sans avoir
les gens coordinés
avant de temps, ou des réplications
de réplication.
Les CRDTs
sont ce type de données primitives
mais
ce qu'ils ne peuvent pas faire
c'est de maintenir
des garanties d'autres,
que vous devez avoir
de votre sainte-l'air,
donc les CRDTs sont
techniques qui sont sur les côtés
pour préserver
d'autres garanties de données
ou d'intégrité.
Nous fichons
de synchroniser les données
entre les post-grés,
ou les post-grés pour éliminer les données.
Quand vous avez un database
de données relatives, vous avez
des choses que vous avez pu en réclamer
comme l'intégrité référentielle,
les constraints, etc.
Si vous avez un type de conflit
sur le sainte-l'air, vous avez
un système qui maintient
l'intégrité référentielle.
Un des techniques de CRDTs
sont les compensations
qui signifient que si vous avez
des updates concurrents,
si vous n'avez pas fait de rien,
cela serait un résultat
dans une violation de la réfrigérité
référentielle, comme quelqu'un a fait
d'insert en pointant un robe
qui a été déleter,
une compensation peut fixer
le database et l'intermettre
pour faire sure que ça ne resulte
d'un state inconsistente.
Les CRDTs
sont inventés par Marc Shapiro,
Nuno Pregoither et Carlos Bacuerras,
deux de ceux, Marc et Nuno
sont sur notre équipe.
Il y a aussi beaucoup de
des recherches qui ont travaillé
avec ces académiques, par la évolution
de CRDTs et de la technologie
pour qu'ils puissent
pouvoir s'enfinir
un modèle de programmation AP.
Donc, Mike Hofander et RCTO Volta
ont travaillé avec ces académiques
pour un nombre de années et ils ont inventé
beaucoup de techniques,
les techniques de CRDTs,
comment on peut faire
des choses comme préserver les variants numériques,
préserver les variables relationnelles et les variants.
Et vraiment,
il y a beaucoup de...
de ce que nous sommes venus comme un projet,
il y a eu un peu de académiques
qui ont collaboré dans cet état.
Ils ont fait un couple de grands
projets de public européen
qui ont terminé
dans un système appelant AntidoteDB,
qui a brisé beaucoup de ces recherches.
Et donc, AntidoteDB a distribué un système database
qui a pour la première fois impliqué
un modèle appelant
Transactional Causal Plus Consistency,
Transactional Causal Consistency
basé sur les CRDTs.
Et ça a été formelement prouvé
pour être le plus fort possible model de consistance
que vous pouvez avoir pour ce type d'offline capable
ou un système de database qui est très disponible.
Et donc,
il peut y avoir des transactions très disponibles,
qui sont des versions distribuées
des transactions atomiques.
Donc, ils garantissent les applications atomiques
de un bunch de nouvelles updates
qui sont dans la transaction.
Avec Causal Consistency,
qui est le plus fort model de consistance
que vous pouvez avoir sur le côté consistant,
et puis le plus
basé sur les conflits sur les CRDTs.
Et donc, ce que nous avons fait avec Electro,
c'est que nous avons commencé par AntidoteDB,
et nous avons commencé le projet,
nous pensions que nous étions
produire un AntidoteDB
pour construire un système database de next-generation
pour des algorithmes
comme une réplication de l'air
derrière l'existence d'une source d'obus d'obus database.
Et puis, particulièrement, Postgres,
qui était le système d'éco-systeme
qui nous intervient.
Donc, nous avons fait des choses de la course,
et nous avons travaillé sur comment faire
la même sorte de consistance
sur les CRDTs sur Postgres,
qui, comme un database,
ne vous donne pas la même manière
d'avoir des primitives de concurrency.
Internéairement, Postgres a
un micro-concurrency
multiversaire, donc il y a des snapshots,
qui sont de manière
de la manière dont ils ont évanoué les transactions concurrentes.
Mais, externement,
vous ne pouvez pas query Postgres
sur un certain snapshot.
Donc, nous avons dû faire des choses claires
pour pouvoir donner ce même niveau
de la meilleure puissance
et de la consistance,
juste sur les standards de base.
Ce qui est en fait au cours de ce qu'on fait
avec ce type d'activité active,
c'est la technologie cor-technique.
Donc,
les CRDTs sont construits et,
comme développeur, je ne m'en souviens pas,
c'est vrai.
Oui, c'est intéressant,
parce que vous avez des approches différentes.
Il y a des bases de database très cool,
il y a un système appel Ditto,
il y a des les relations,
comme un volo, un Vulkan,
ou un CRSQLite, qui est
en train de mettre les types de data,
dans votre modèle de data,
pour que vous puissiez
expliquer, je veux un counter,
un type particulier de type de data
et vous avez ces types de
pré-built data types, que vous pouvez
construire un modèle de data.
Ce que nous avons fait, c'est que nous avons
implementé les CRDTs semantics,
pour que vous puissiez avoir le même comportement
que si vous étiez en train de travailler
avec les CRDTs, mais en utilisant les types de data
relationnel.
Ce qui est électrique, c'est que c'est un model de data
de post-scrub, c'est des séparements,
arrays, JSONB fields,
comme ce que vous utilisez normalement,
mais le moyen dont nous
implementons le logic de merge
vous donne le même confort
et la même consistance de bénéfices
que si vous étiez en train de
spécialiser les types de data.
C'est drôle, car, comme une équipe, nous venons
de l'héritage de nos concitoyens
de l'académie,
mais dans un moyen où nous avons sorti
de l'esprit de la distribution
de systèmes spécialisés
et de la collaboration avec les types de
post-scrubs.
Ça fait du sens, vous avez
une gap de compréhension
d'économie,
vous le voyez souvent,
les gens qui sont vraiment bons
à
comprendre les CRDTs
et de créer des produits, ne sont pas
les types de gens qui sont vraiment bons
à construire les applications.
Pas nécessairement, il n'y a pas de overlap,
mais c'est comme
parfois,
ce qui est important
pour les types de produits
de la distribution,
c'est un peu différent,
d'être un peu touché
pour l'expérience de développeur,
et beaucoup de challenges
de craft en good UX
et de la software
qui est un terrain différent
de problèmes de pouvoir
vérifier
les types de systèmes corrects
et des trucs.
Il y a beaucoup de différentes approaches
à ce que les gens
tentent de rejoindre les deux mondes, mais
oui, elles sont vraiment des skill sets différents.
C'est un bon
rapide pour aller en haut, comme les CRDTs,
les systèmes distributifs, les algorithmes,
je suis un développeur général,
et c'est un style fascinant,
et vous avez des expériments de pensées
dans votre tête, si on le fait,
est-ce correct ?
Mais
c'est un style fascinant
qui peut faire ça
et bien, de la recherche,
il y a des conférences
de HALANG,
plutôt que les conférences réactives.
Oui, oui, oui, tout de même.
Donc,
en parlant de l'un des compétences
d'ElectroSQL, et j'espère que ça va te l'entraîner un peu,
vous avez
ce truc qui s'appelle PG Light,
ce qui est ce que je comprends,
postgres dans le database,
ou en client, je suis désolé.
Donc, PG Light, c'est
votre client-engin,
oui ?
Vous pouvez vous expliquer un peu plus
sur ça, et comment ça s'entraîner
dans la histoire de l'Oreo ?
Oui, bien sûr.
Quand nous avons commencé,
nous avons été sinker dans l'Escuel Light.
L'Escuel Light est, évidemment,
un super performant, très mature,
local, embêté, de database.
Mais nous avons été sinker
entre postgres dans le service
et l'Escuel Light dans le client.
Et vous avez
un bon ton de défis
où vous avez ces différents models,
postgres, c'est un système de type propre
dans le database, l'Escuel Light est
un peu relaxant,
et il y a un mismatch entre les
types de données et la fonctionnalité
des systèmes.
Donc, avec Electric, nous avons construit
tout ce que nous avons fait, et nous avons
converti entre les deux models, et c'est un de nos
sortes de pièces qu'on a dû construire.
Mais c'était évident
que si nous pouvons
construire postgres dans le client,
cela pourrait être
beaucoup mieux d'un whole bunch de perspectives.
L'Escuel Light est plus optimisé,
c'est un build plus petit,
c'est optimisé pour
faire le contact d'impédier, donc il y a
beaucoup de choses. C'est évidemment le plus
grand débat de la base de software,
de database, de tout le sate, c'est
bien sûr. Mais, si vous
avez le même database sur les deux sides
de la réplication, vous n'avez pas
à faire de la map de données, vous n'avez pas
à faire de la serialisation, vous pouvez
faire de la même extension dans les deux
de l'Escuel Light, donc avec le fait que
le software se tourne vers l'AI, vous
pouvez avoir le PG Vectors en postgres,
et puis vous pouvez avoir le PG Vectors
en postgres dans le client. Et donc vous pouvez
avoir, en fait, le même data
sans avoir à faire de la map entre les
deux systèmes. Et donc, c'était
l'obvième motivation pour dire,
« could we make this work ? »
Il y a des projets qui
étaient très cool, qui ont
démontré le postgres dans le browser
comme un Wazem build, mais ils
étaient vm-based, donc ils étaient
assez élevés, et la manière
de faire postgres dans un vm et
compiler ça dans Wazem, c'était
une download 32 meg, et il y a
un peu d'overhead avec cette virtualisation.
Et puis,
le team NEON a shared
avec nous un base forrepo, où ils
ont fait un concept de faire un pure
Wazem build postgres,
qui a fait le truc cool,
qui a démontré que c'était un petit
download, qui a besoin de
quelques choses pour ajouter des
persistences et d'improver.
On a essayé de
faire un peu de temps pour
faire des persistences, et de
faire la compilation, comme si je
avais faimé, comme si
quelqu'un d'autre avais faimé.
Et puis, un des gars de la team a
fait un week-end et n'a pas
fait un stop, et ça a été
fait. Sam Willis a sorti de
le faire et a créé un build.
Et puis, on a
publié ça, et il y a
beaucoup d'autres qui l'ont
intéressé, comme les internet,
et ça a été un projet de star growth.
Nous maintenant nous gardons le PG Light
comme un projet d'open source,
dans un moyen, ce qu'on
a vu, c'est qu'il y a un besoin
d'être un build postgres, et peut-être
que ce soit une inspiration,
ou peut-être une route pour être
upstream, dans le sort
du postgres main, ou
le build.
Et puis, on a fait
de la faire
plus reliable,
juste en regardant le build
tooling, fixant des choses comme
les issues de membre, et les
challenges de compilation. Et puis,
on a ajouté
un mécanisme de
dynamique d'extension.
Donc, comme sur le service,
vous pouvez créer une extension
dans le postgres et
mettre des codes archéologiques.
Si vous avez besoin de la code
complète pour Wazm, vous n'avez pas besoin
d'être complète dans le build, car ça serait un build
qu'il n'a pas besoin.
Nous avons donc besoin d'avoir des extensions
par URL, et d'avoir des
codes pour les contrôles dans le build
postgres. Nous avons maintenant
construit ça, et nous avons des choses
comme PG Effect, et des extensions
en train de faire la clientèle.
Et donc, et maintenant,
c'est une alternative
pour s'assurer que l'élection
soit en l'environnement de browser
pour nous faire la clientèle.
Vous pouvez donc faire postgres
avec Electric, c'est maintenant une option
de la première classe. Et il y a
un bunch de choses que nous pouvons
faire spécifiquement avec PG Light,
qui nous feront de l'inviter,
où ça va probablement devenir notre
clientèle en temps.
Nous avons donc travaillé, par exemple,
sur des primitives pour
des subscriptions live-query
officielles. Vous avez un modèle
que vous avez sous-descrivé, où vous avez
l'air d'avoir des données à un component.
Imaginez que vous vous êtes en train de
montrer une page de liste
des issues ou quelque chose.
Quand le changement de données,
vous avez un model naïve
qui détecte un changement de données,
rérunner une query locale,
réunir les résultats de la récompense
et la récompense.
Il y a quelques aspects de la
efficiency, un de ces aspects
est en database
de maintenir des subscriptions officielles,
et puis vous avez seulement changé
les données sur le boundary de WAZM,
parce que c'est relativement rapide
pour la query de la database, mais c'est relativement
plus lent pour la dédiculière de la data
sur la façon sur laquelle la base de WAZM
est réalisée. Nous travaillons
sur des optimisations pour PG Light
pour devenir un peu plus de la nature
de la database réactive que les clients.
Je vous entends.
À un moment, vous pouvez changer les deux,
mais PG Light n'est pas nécessairement
la plus importante quand même.
C'est comme si vous êtes toujours en train de lutter sur SQL Light.
SQL Light est plus petit et plus
testé au battle,
et PG Light est un peu
plus rapide et a plus de capacités.
Ils sont donc les deux premières
options supportées.
En plus de deux ans,
probablement PG Light s'envoie
juste parce que si vous pouvez le faire
plus mature et s'envoi
dans le bâtiment, c'est un pathway
pour faire. Vous avez les bénéfices de
les lier à toute la complexité de la map
entre les deux systèmes de database, et ça
devient postgres tout le monde.
C'est appelé PG Light, mais il a
un peu de features. Je ne
ne pourrai pas attendre les plugins
ou les add-ons pour être part de ça.
Qu'est-ce que vous allez ajouter ?
Le plus grand chose est que c'est
juste postgres.
Il s'agit
d'une mode single user, qui est
une haine drame, parce que postgres
a une mode single user
d'un temps plus tard, surtout un
tool de débug.
Mais on a pu
faire des choses claires,
que l'initiel REPO que nous avons
évoqué de la team Neon, c'était
de l'utiliser pour pouvoir
faire un environnement de Wazom
où vous n'avez pas les mêmes primitives

Mais d'autres, c'est juste
juste un peu mal, c'est pour moi
comme un web-developer,
l'idée que vous pouvez
faire un environnement de postgres
dans le web browser
me sentait un peu comme vous
dans le futur.
Et quand on fait des choses comme
ça,
une des plateformes que nous
regardons est TOWRY,
qui est un
appui
de packaging,
c'est bien pour des applications
et donc avec TOWRY, pour exemple, nous avons fait
PG Light
comme le database client de l'on
avec un model Olaama
pour l'AI local, fast embed
et PG Vector.
Et puis, vous pouvez faire ces applications
qui sont comme
interractibles, des applications
de transition de temps,
mais quand vous avez écrit des données, vous
créez automatiquement des vecteurs dans le client,
et vous faites un search en Vector
pour l'AI, vous avez un règle local.
Donc, ça sort de la capacité
d'un database
plus avancé dans le client,
et vous pouvez soutenir
des directions que l'on va
faire, par exemple, vous voulez
faire des données à l'AI qui se dévient
dans le device. Et je pense que le postgres
avec PG Vector, juste parce que le fait que
il intégrate les données de Vector
dans le model principal, est un très fort
bête pour comment ça a été construit.
Et vous avez vu, par exemple, avec TimescaleDB,
ils ont maintenant réellé
10 fois plus de performance
de PG Vector, comme d'extension.
Et donc, il y a un grand nombre d'espoirs
d'engenriérant, qui ont sorti de optimiser
ce bête.
Bien, c'est génial.
Je vais demander la prochaine question, Justin.
Bien sûr.
Donc, on a toujours voulu
poser des questions futures
à la fin de nos épisodes.
Et, vous savez, c'est un area
intéressant, parce que c'est comme un local
en grand nombre, qui a vraiment
été construit.
Donc, quand vous pensez
sur les prochaines étapes pour ElectrixEqual,
qu'est-ce que
ce futur est-il?
Bien, intéressant, c'est
plus en plus de
ajouter des features, et c'est
plus en faisant
ce qu'on fait vraiment
proprement.
Il y a cette sorte de démo
où, comme,
dans le vallier avec des softwares en realtime,
on fait des démos,
et ça fonctionne.
Et puis, vous vous en faites
en production, et ça ne se scale pas
bien, et les plateformes sortent.
Et ce que nous avons
construit dans le système, c'est que
nous voulons essayer de prendre
une grande barre de optimisation,
parce qu'on vient de cette
étude de recherche, donc c'est
comme, c'est le meilleur possible
local de la première plateforme, et comment
nous avons pu donner les meilleures garanties
pour construire ce modèle.
Et ce que ça a
fait nous, c'est un stack complexe.
Et donc,
ce que nous avons focussed sur,
de l'au bout du moment, avec le projet,
c'est que les gens veulent vraiment
ça exister, mais pas juste exister,
mais que je peux jouer avec les fonctions technologiques.
C'est comme, je dois pouvoir déployer
cette production, et vous
vous entreriez dans le système.
Et donc, c'est vraiment ce que nous avons
focussed sur, et il y a un couple
de différents aspects, un de qui a essayé de
mettre des choses qui nous avons
construite dans un stack vertical,
en cas de scope. Donc, je vous ai mentionné,
par exemple, la place de la place,
c'est un travail beaucoup mieux en activité de client,
que ce que nous avons construit en première
place, donc c'est un meilleur
modèle pour intégrer quelque chose comme ça,
ou un trésor, ou un bas-bas, dans la place de la place de la place.
Et comme nous avons construit un nombre de
études de la tooling pour faire un
expérience de développement, mais nous
avons aussi fait des choses de la
concurrence, des challenges de concurrence,
des staff de systèmes distributaires,
et de la réplication actuelle de la
production. Ce que nous avons fait, c'est
que nous avons essayé de simplifier
ou de couper un peu plus la plate-forme,
pour que vous puissiez intégrer
des autres alternatives, et nous faisons
moins dans le coin-sync.
Mais aussi, nous avons fait un
lot de la réliabilité du coin-sync,
et donc,
peut-il y avoir un million de users
devant un single commodity Postgres?
Comment est-ce que
le coin-sync se débrouille?
Comment est-ce que, en comparant
avec le fait d'un standard de data fetch,
comme, qu'est-ce que le profil de ressource
dans les termes de choses comme storage, memory,
CPU, que vous avez évalué dans la lait de
coin-sync, que vous avez créé des utilisateurs
d'applications?
Et donc, un peu de la fécurité du team
à ce moment, est sur cette réliabilité,
donc nous avons sorti de la même
feature scope, pour en faire en fait réduire
l'application de la fécurité, mais nous
nous rendons surement, que, comme le component
de la lait de coin-sync, que vous pouvez
avoir comme une sortie de lait de data dans votre application,
vous pouvez le croire correctement.
C'est extrêmement réel,
il se scale avec vous, et vous ne vous
n'étiez pas à faire des issues de la lait de data
où votre modèle de data est trop large,
ou que vous avez trop de concurrents users,
parce que si vous pensez à
acheter un approach de la lait
de data base, de la réliabilité de
ce système, parce que vous ne pouvez pas
déployer votre application mobile, et puis
vous avez une sorte de lait de data
de la lait, c'est l'un des les plus
difficiles pour
débarguer, ou résolver
pour vous-même en production.
C'est notre responsabilité de résolver ces problèmes,
et nous sommes légèrement en train de
mettre en place des aspects de
le système, légèrement en out of scope,
parce que d'autres personnes peuvent faire un meilleur travail
que nous, avec des choses comme la lait de
migration, et la réactivité clientielle,
mais nous devons être intérêts pour faire
la lait de la lait de la lait de health carence.
Une chose que je vois de la
web, c'est un
page de la lait de la lait de application.
Quel est votre plan de monétiser
tout ça ?
Je veux dire, au moment que c'est
un tout patché, il y a un design
pour en faire un host.
L'une des choses, c'est
que c'est la infrastructure de la lait
de la lait de data base, il y a un need
pour être en out of scope technologie.
Si on n'était pas open source, on serait en train de prendre une alternative.
On ne peut pas voir d'autre approche de ce projet.
Ce projet doit être une technologie permissive.
En termes de monétisation, c'est un lait de synch.
Il y a des flows d'application d'opération,
donc il y a une pièce évidente qui peut être monétisée.
Vous pouvez regarder l'approche de la construction d'un service host.
Vous pouvez le faire de différentes manières.
Nous pouvons le faire comme une compagnie,
nous pouvons partner avec d'autres personnes.
Nous travaillons avec des compagnies très cool,
des gens comme Superbase, MOTHERDUCK, etc.
qui sont aussi construits pour l'infrastructure des données opérationnelles.
Donc, si nous construisons un service sort de synch,
si nous construisons un service sort de synch,
nous avons différentes options pour les voir.
Et ensuite, vous avez une chose où,
quand ce projet se dévouille et que l'on dévouille la valeur de la business,
vous avez une sorte de cloud de prime,
ou une sorte d'admission de large company monetisation.
Donc, si vous êtes construit un application plus sérieuse
avec une base large, vous pourrez travailler avec nous
comme une compagnie, et si c'est une sorte d'admission d'admission,
une stratégie d'open core,
ou une sorte d'application de private cloud,
une sorte d'admission productuelle,
et une sorte d'admission d'admission.
Il y a beaucoup de features,
quand vous vous rendez le truc à la scale,
qui peuvent être très valables,
ou de la façon dont ça s'est synché,
ou de la visibilité opérationnelle,
ou de la standarde,
des contrôles d'entreprise,
de votre système.
Et, d'intéressant,
certains de ces sont assez tôt,
dans des nuances de ce genre,
comme un système de distribution concurrent,
si vous avez des permissions,
peut-être que vous pouvez le faire,
si vous le firez,
mais les gens sont déjà en train de faire des droits,
donc, pour ceux qui sont valables,
ou ceux qui ne sont pas valables.
Vous avez des intérêts,
des spécifiques,
des systèmes spécifiques,
que nous pouvons potentiellement construire
dans ce type de product.
Mais, à l'heure de la compagnie,
nous avons beaucoup de ces options,
et non d'autre,
si nous pouvons, en première,
obtenir un niveau de production,
et délire une bonne compagnie,
et si nous pouvons,
il y a une grande opportunité pour ça,
d'être un grand changement,
et d'être un peu plus d'envers,
parce que nous avons cette opération,
ou cette laitière,
il y aura beaucoup d'opportunités pour monitiser.
C'est vraiment l'interesse des conversations
à la compagnie,
en parlant de la monitisation
et des plateformes de distribution traditionnelles.
Si vous pensez à un SaaS,
les SaaS ont une très claire
monitisation stratégie.
Je pense que les produits de construction
ont toujours été sur les fringes,
d'un produit d'esprit database,
donc en essayant de trouver
une bonne manière de monitiser les produits de construction,
il y a toujours été un endeavor
difficile, mais,
si nous regardons plus
dans la monitisation de votre
projet particulier, mais aussi
les projets que vous pouvez utiliser,
ou des choses,
c'est des questions intéressantes
sur comment ce space
se marquera, et ce que ça signifie,
et comment ça change le forme
de la capitalisation de software,
et ce sera vraiment intéressant
de l'avoir regardé pour les prochaines années.
Oui, je pense que c'est très mauvais.
Vous regardez
l'économie de typiques SaaS
et c'est basé sur
l'utilisation des données de l'usage
et de la cloud, et donc,
beaucoup de la raison que les gens sont intéressés
dans le software local est de ce aspect
de faire changer ceci,
et que vous pouvez acheter votre propre data
et que votre data n'est pas
le produit qui est forcé
à monitiser.
Et puis, si vous regardez,
mais parce que ça change
la dynamique de la monitisation,
vous devez voir que,
si vous faites des applications sur cette pattern,
comment vous le monitisez ?
Parce que SaaS a eu
un modèle de revenus
très fort, en subscriptur,
qui est construit dans le paradigme.
Et, en fait, je pense que c'est possible
de faire un revenu de subscripture
pour le software qui a été construit
sur la première architecture local.
Et, en fait, si vous introduisiez
un sync, qui est une des choses
que les gens veulent, si ils veulent un temps réel
ou une collaboration de team,
c'est en fait un moyen de mettre le sync
et ça vous permet de vous mettre
en même subscription-based revenus,
même si les gens peuvent choisir,
peut-être que c'est plus facile pour les utilisateurs
de changer votre plateforme,
et peut-être avec des données interoperables,
de changer les plateformes.
Je pense que les applications mobiles
sont un modèle assez intéressant
où vous avez
le app Store, qui a changé
le moyen de monétiser et de faire des applications mobiles
où vous pouvez faire le travail
pour le développeur de construire un app,
mais écrire un app Store et
les utiliser. Et je pense que l'une des choses
avec le local 1re est que ce type
d'infrastructure va evoluer.
Donc, comme le développeur, vous pouvez
publier des softwares réels en temps réel
et vos utilisateurs peuvent l'utiliser
par connecter, pour dire, un protocole standardisé
sans vous, comme le développeur, pour s'occuper
d'un software.
Vous pourriez construire des applications
sans avoir à prendre le tout le site
de l'opération, de la fonction de
les services, pour rouler le data dans le background.
Je pense que ça peut changer les économies
de la créativité
sur les applications créant, et comment vous pouvez
construire et monétiser les applications
sans avoir à
écrire des fonds VC pour pouvoir
apporter tous ces services. Et je pense que
si vous regardez les patins
sur la ownership de la data,
vous avez
une idée de la pensée,
si vous avez votre propre data, vous pouvez
choisir où vous avez été hosté, vous pouvez avoir
des applications qui vous demandent
l'accès à cette dataise, peut-être que vous
pouvez monétiser les applications de votre dataise.
Donc, je pense que c'est un type
différent de la plateforme
économique pour déployer
un software qui peut être bloqué
par cette technologie.
Et si nous pouvons le cracrer,
peut-être que ça peut devenir un
un peu plus sustainable et
balancer en termes de ne pas
avoir à dire que si vous voulez
construire un software et monétiser, vous êtes
presque obligés d'exploiter les données
des gens, ou de les bloquer
dans les subscriptions, car c'est la seule façon
de le faire.
Bien joué, je pense que ça remet ça pour nos questions
cette semaine. Merci pour la suite, James.
C'était une conversation très intéressante
sur les choses que vous avez fait en s'éloignant
d'électro-séquil et je m'exciterai
de vous essayer de vous faire un peu de projets.
Merci pour votre attention.
Merci pour avoir moi.
Si vous êtes intéressés en s'éloignant
de l'électro-séquil, vous pouvez nous voir.
Nous sommes d'Alectora.com
et nous sommes sur le site
d'Electro-séquil.
Donc, s'il vous plaît,
nous avons une communauté de discord
et si vous êtes en train de vous
dire hi, nous aimerons vous aider
si vous êtes intéressés en construisant
l'application. Merci pour votre attention, James.
Vous et votre équipe
font de fantastiques travail
et je suis heureux de voir comment ça s'éloigne.
C'est génial. Merci.

Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

devtools.fm:DeveloperTools,OpenSource,SoftwareDevelopment

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

Lien du podcast

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

Go somewhere