New framework package #35
Replies: 1 comment
-
File-based vs explicit registrationCurrent market stateTL;DR: Most fullstack frameworks implement file based configuration. Most server-side only frameworks use explicit registration.
Category 1: Explicit Registration (Low-level HTTP frameworks)These frameworks require developers to manually register routes, controllers, and middleware programmatically. They offer maximum flexibility but require more boilerplate. Express.js, Koa.js, Fastify, Hono **Category 2: Explicit Module Registration (with decorator or not) **These frameworks use TypeScript decorators or not for controllers/routes but still require explicit registration of modules and components. They use local-level HTTP frameworks like express or koa under the hood. NestJS, LoopBack, Tsed, FeatherJS Category 3: File-based Routing (Convention over Configuration)These frameworks use file system conventions to automatically generate routes based on file structure. This is the modern meta-framework approach. All of those also use an underlying low-level HTTP framework and compile a bunch of static assets (see the documentation of Remix that is particularly transparent on that front) Next.js (React fullstack), Remix (React fullstack), SvelteKit (Svelte fullstack), Nuxt.js (Vue fullstack), SolidStart (Solid fullstack), Analog (Angular fullstack) Category 4: Convention with Auto-discoveryThese frameworks use file conventions for organization but still require some explicit configuration. They auto-discover certain components. Sails.js, AdonisJS, Meteor, Redwood.js Category 5: Configuration-drivenThese frameworks use configuration objects or files to define application behavior declaratively. Hapi.js, Strapi DecisionFile-based conventions. Unlike most SPA with SSR however, there isn't a single point of entry on a ChatGPT app (there is not Downside: coding agents don't know Skybridge file-based conventions. It will be harder for them to generate code than on a explicit configuration system. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Skybridge currently exposes 2 entry points:
skybridge/webandskybridge/server.One working ChatGPT app orchestrating both those packages is implemented in https://github.com/alpic-ai/apps-sdk-template.
This discussion aims at defining the scope of a new
skybridge/coreentry point dedicated to the orchestration of a working app.Core package is a single developer interface that enable building ChatGPT app (and MCP app in the future).
Objectives of the new package:
This core package target developper that start a new app from scratch, no migration path will be provided or even supported.
The following discussion details (but is not limited to) proposal of implementation regarding the following points:
There is a path to this destination from our current template that involves less work: merge front/back packages in a single package and replace the convention based template rendering in resource with configuration.
Beta Was this translation helpful? Give feedback.
All reactions