全栈网络框架
概览
这是Remix 3的源代码库。它正在积极开发中。 今年早些时候,我们发表了一篇博客文章,分享了我们对Remix 3的一些看法。文章阐述了我们对网页开发的理念,以及为什么我们认为现在是做新事物的合时机。在开发Remix 3时,我们遵循以下原则: 1. .人工智能从根本上改变了用户体验和开发者工作流程的人机交互模型。优化大语言模型的源代码、文档、工具和抽象。此外,开发应用程序的抽象,使其在产品本身使用模型,而不仅仅是作为开发工具。2. .跨栈共享抽象大大减少了上下文切换,无论是对人类还是机器。建立在Web API和JavaScript的基础上,因为它是唯一的全栈生态系统。3. .
概述(AI 翻译)
这是Remix 3的源代码库。它正在积极开发中。
今年早些时候,我们发表了一篇博客文章,分享了我们对Remix 3的一些看法。文章阐述了我们对网页开发的理念,以及为什么我们认为现在是做新事物的合时机。在开发Remix 3时,我们遵循以下原则:
- 模型优先开发。人工智能从根本上改变了人机交互模型,无论是用户体验还是开发者的工作流。优化LLM的源代码、文档、工具和抽象。此外,开发应用程序的抽象,使其在产品本身使用模型,而不仅仅是作为开发工具。
- 基于Web API构建。跨栈共享抽象大大减少了上下文切换,无论是对人类还是机器。建立在Web API和JavaScript的基础上,因为它是唯一的全栈生态系统。
- 严格执行时。为捆包器/编译器/类型生成(以及任何运行前静态分析)设计会导致糟糕的API设计,最终污染整个系统。所有包的设计必须不期待静态分析,所有测试必须在不捆绑的情况下运行。
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
Welcome to Remix 3!
This is the source repository for Remix 3. It is under active development.
We published a blog post earlier this year with some of our thoughts around Remix 3. It explains our philosophy for web development and why we think the time is right for something new. When working on Remix 3, we follow these principles:
- Model-First Development. AI fundamentally shifts the human-computer interaction model for both user experience and developer workflows. Optimize the source code, documentation, tooling, and abstractions for LLMs. Additionally, develop abstractions for applications to use models in the product itself, not just as a tool to develop it.
- Build on Web APIs. Sharing abstractions across the stack greatly reduces the amount of context switching, both for humans and machines. Build on the foundation of Web APIs and JavaScript because it is the only full stack ecosystem.
- Religiously Runtime. Designing for bundlers/compilers/typegen (and any pre-runtime static analysis) leads to poor API design that eventually pollutes the entire system. All packages must be designed with no expectation of static analysis and all tests must run without bundling. Because browsers are involved,
--importloaders for simple transformations like TypeScript and JSX are permissible. - Avoid Dependencies. Dependencies lock you into somebody else’s roadmap. Choose them wisely, wrap them completely, and expect to replace most of them with our own package eventually. The goal is zero.
- Demand Composition. Abstractions should be single-purpose and replaceable. A composable abstraction is easy to add and remove from an existing program. Every package must be useful and documented independent of any other context. New features should first be attempted as a new package. If impossible, attempt to break up the existing package to make it more composable. However, tightly coupled modules that almost always change together in both directions should be moved to the same package.
- Distribute Cohesively. Extremely composable ecosystems are difficult to learn and use. Remix will be distributed as a single
remixpackage for both distribution and documentation.
Goals
Although we recommend the remix package for ease of use, all packages that make up Remix should be usable standalone as well. This forces us to consider package boundaries and helps us define public interfaces that are portable and interoperable.
Each package in Remix:
- Has a single responsibility
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add remix-run/remix