3 repository-uri
Architectural patterns for sharing type definitions between client and server to ensure end-to-end type safety.
Distinct from Fullstack Frameworks: Candidates focus on specific generators or validators rather than the architectural workflow of sharing types across the fullstack
Explore 3 awesome GitHub repositories matching software engineering & architecture · Fullstack Type Sharing. Refine with filters or upvote what's useful.
Blitz este o extensie de framework de dezvoltare fullstack pentru Next.js și o interfață de linie de comandă utilizată pentru a bootstrap-a structuri de proiect și a orchestra servere de dezvoltare locale. Acesta integrează logica frontend și backend într-un singur flux de lucru pentru a facilita crearea de aplicații web complete. Framework-ul folosește o integrare backend zero-API și un strat de acces direct la baza de date, permițând componentelor frontend să se conecteze la funcții serverless și baze de date fără definiții API manuale. Dispune de un generator de tipuri bazat pe schemă care creează automat definiții TypeScript prin analizarea schemelor bazelor de date backend pentru a sincroniza modelele de date între client și server. Proiectul oferă instrumente pentru prototiparea rapidă a aplicațiilor și un flux de lucru fullstack TypeScript. Capabilitățile sale acoperă orchestrarea serverelor multi-proces și generarea de template-uri de proiect structurate pentru a integra tipare de dezvoltare frontend și backend.
Synchronizes data models between client and server to ensure end-to-end type safety.
MagicOnion este un framework de apeluri de proceduri la distanță (RPC) pentru platforma .NET și Unity. Acesta funcționează ca un protocol API binar și un motor de comunicare în timp real care utilizează interfețe partajate pentru a oferi comunicare type-safe între clienți și servere. Framework-ul se distinge prin compatibilitatea sa cu mediile de compilare ahead-of-time, utilizând generatoare de sursă pentru proxy-urile client și serializare pentru a suporta platforme mobile și de consolă, inclusiv cele care utilizează IL2CPP. Oferă un strat de middleware specializat pentru Unity care gestionează tipurile de date specifice motorului și asigură compatibilitatea la runtime. Proiectul acoperă o gamă largă de capabilități de rețea, inclusiv streaming de date bidirecțional, cicluri de cerere-răspuns unare și mesagerie push de la server la client. Include suport integrat pentru securitate prin criptare TLS și autentificare JWT, precum și gestionarea stării per-client și filtrarea cererilor bazată pe interceptoare. Instrumentele de diagnosticare sunt disponibile pentru monitorizarea stării comunicării, urmărirea metricilor de performanță ale serverului și propagarea stack trace-urilor de pe server către clienți pentru debugging.
Shares type definitions between client and server to ensure end-to-end type safety.
Acest proiect oferă un model structural pentru organizarea aplicațiilor React și TypeScript prin decuplarea logicii de business de componentele interfeței utilizator și infrastructura externă. Implementează o arhitectură stratificată care izolează regulile de domeniu de bază, asigurându-se că aplicația rămâne independentă de framework-uri, biblioteci sau implementări de servicii externe specifice. Arhitectura se bazează pe principiile de injecție a dependențelor și inversiune pentru a gestiona implementările serviciilor, permițând modularitatea și testarea mai ușoară. Prin utilizarea unui nucleu funcțional și a unui shell imperativ, sistemul separă efectele secundare de logica de business pură, în timp ce contractele de tip partajate și siguranța strictă a tipurilor asigură structuri de date consistente în toate modulele aplicației. Abordarea facilitează crearea de cazuri de utilizare și entități de domeniu agnostice față de framework, care pot fi testate și menținute în izolare. Prin definirea interfețelor abstracte pentru servicii externe și implementarea straturilor de traducere a datelor, proiectul asigură că codul specific infrastructurii nu se scurge în logica de business primară.
Shares type definitions across the application to ensure end-to-end type safety.