Qu'avons-nous appris d'une année de ChiselStrike ?
Depuis un an, nous construisons ChiselStrike à ciel ouvert. Pendant ce temps, nous avons construit une grande communauté Discord avec plus de 200 membres et avons obtenu une quantité décente d'activité Open Source.
Nous sommes des vétérans de l'Open Source, donc pour nous, construire ceci – ou tout ce que nous construisons – comme un projet Open Source a toujours été une évidence. Mais en tant qu'entreprise, notre objectif était de l'utiliser pour alimenter notre offre Backend-as-a-Service, là où les gens pouvaient déployer le code ChiselStrike.
Dès le départ , nous avions à l'esprit que nous allions créer une solution SQLite à la pointe pour alimenter la plate-forme ChiselStrike. Cependant, au fur et à mesure que nous nous rapprochions de cet objectif, et combinés avec d'autres commentaires que nous avons reçus de la communauté, nous avons réalisé que cela, que nous avons nommé Turso , devrait devenir notre produit principal.
Aujourd'hui, nous arrêtons l'offre BaaS hébergée (mais pas le projet Open Source ChiselStrike, plus à ce sujet ci-dessous), pour nous concentrer sur Turso.
Arrêter un projet n'est jamais une décision facile. Mais bon, c'est mieux que de licencier 20% de votre personnel, de citer une personnalité célèbre et de cracher des e-mails BS vides "Je prends l'entière responsabilité".
Dans cet article, j'aimerais dire quelques mots sur les enseignements qui nous ont poussés à le faire et sur l'avenir du projet ChiselStrike Open Source.
Ce que les gens ont aimé ChiselStrike
Nous avons reçu tellement de bons commentaires sur les choses que nous avons construites. Par souci de concision, je vais souligner les principaux:
Tout est TypeScript
Contrairement aux ORM standard, ChiselStrike est basé sur TypeScript et non sur la base de données. Les modèles sont définis dans TypeScript et ne sont pas générés automatiquement à partir d'une représentation intermédiaire. Avec l'ajout de l' API client , les types sont propagés partout, donc tout est typesafe. Il n'y a pas de migration.
L'expérience du développeur est excellente
Construit sur SQLite, il est facile de démarrer localement et il n'est pas nécessaire de le connecter à des bases de données externes, des configurations complexes, etc.
De plus, une fois que vous avez un mode de classe TypeScript, .crud()il vous suffit de créer une API CRUD REST complète. Vous êtes prêt à partir en quelques secondes.
Ce que les gens n'ont pas aimé à propos de ChiselStrike
Cependant, nous avons reçu des commentaires sans équivoque sur certaines choses qui n'allaient pas tout à fait.
Il n'y a pas de trappe d'évacuation
Même si nous avons reçu des éloges pour nos abstractions, les développeurs nous ont massivement dit qu'ils aimeraient avoir la possibilité de descendre la couche SQL en cas de besoin. C'est l'une des principales forces motrices derrière notre investissement dans libSQL en tant que projet Open Source, et Turso en tant que produit construit sur cette base.
Il est déroutant de comprendre où mon code s'exécute
Le sans serveur devient une seconde nature pour les développeurs Web. Notre intention initiale était que les développeurs déploient leur application sur leur plate-forme sans serveur préférée, et le "code backend", qui cohabite avec les données, sur la plate-forme ChiselStrike.
Mais cela a immédiatement soulevé des questions sur quel code va où ? Puis-je déployer ChiselStrike lui-même dans le cadre de mon projet Next.js ? Les deux erreurs les plus courantes commises par les utilisateurs de la plate-forme étaient de déployer l'intégralité de leur application Web ou d'essayer d'ajouter du code ChiselStrike à déployer à l'aide de fonctions sans serveur sur Vercel, Netlify ou Cloudflare.
L'avenir de notre projet backend Open Source ChiselStrike
Nous maintenons toujours le projet Open Source, mais uniquement pour les personnes qui souhaitent l'auto-héberger. Fly.io et Digital Ocean sont d'excellentes plateformes pour cela, ou toute infrastructure où vous avez accès à un serveur.
En raison de la façon dont nous avons initialement lié le code et les données dans notre architecture, ChiselStrike intègre un runtime TypeScript (Deno).
La décision de ne plus héberger de code, et de se concentrer exclusivement sur la couche base de données, offre également des possibilités très alléchantes.
Premièrement, nous pouvons simplifier le produit de base de données en supprimant Deno de la construction et en nous appuyant sur un environnement d'exécution externe. La colocalisation du runtime dans le même processus que la base de données, bien qu'excellente pour les performances, les lie trop étroitement pour la flexibilité dont nous avons besoin pour aller de l'avant. Au lieu de cela, les développeurs peuvent s'appuyer sur d'autres produits hébergés en périphérie comme Cloudflare pour exécuter leur code backend.
Deuxièmement, nous pouvons introduire une nouvelle couche de sécurité dans la base de données qui permet au code frontal d'interroger directement la base de données pour obtenir les meilleures performances de périphérie possibles, sans compromettre l'intégrité des données d'application.
Derniers mots à tous nos fidèles développeurs
Nous espérons toujours que vous continuerez à bénéficier du backend Open Source ChiselStrike pour faciliter la création de vos backends. Et si vous n'avez pas encore rejoint notre Discord , nous sommes toujours là !
Et si vous avez aimé ce que nous avons fait jusqu'à présent, nous sommes certains que vous aimerez également Turso. Turso est maintenant en version bêta privée, et vous êtes invités à rejoindre notre liste d'attente .
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































