Val Town Blog 10月02日
Val Town Projects发布,提升代码构建复杂度
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Val Town Projects正式发布公测,通过将vals、文件和文件夹版本化集体部署,支持功能分支等强大工作流,解决vals规模过小的问题。用户可快速构建和部署大型应用,享受云端即时反馈循环,同时避免频繁影响生产环境。项目采用自研版本控制系统,兼顾易用性与扩展性,未来将支持与git同步。目前支持每日100k至1m次运行,计划2025年Q2推出Scale Plan。首批应用包括JournalGroove智能日记分析工具,30分钟即可完成迁移。

🌐 Val Town Projects将vals、文件和文件夹集体版本化,支持分支、合并等git功能,但采用自研系统简化协作流程,无需用户学习git即可享受分支、合并等高级功能,特别适合新程序员和LLM编程场景。

⚡ 通过云端即时部署(100ms内完成),结合分支功能实现快速原型验证,既保留localhost的快速迭代,又避免直接部署到生产环境,类似‘localhost与PR预览的结合体’。

📈 项目支持自动扩展(计划2025年Q2推出Scale Plan),目前免费版每日支持100k次运行,专业版支持1m次运行,解决vals规模限制后应用扩展性问题,特别适合复杂应用如JournalGroove日记分析工具。

🚀 解决vals代码规模过小(数百行即难管理)的问题,用户可构建大型应用而无需分散成多个vals或使用冗长的单一val,显著提升开发效率,例如Date Me Directory从分散vals重构为Project后管理效率提升30倍。

🔄 通过自研版本控制系统,避免git生态复杂性,借鉴Figma等多工具自研版本控制的思路,聚焦多人协作的核心需求,实现比git更简洁的多人实时协作体验。

Introducing Val Town Projects

on

Since we published this blog post, we decided to unify our two primitives—vals and projects—into a single primitive: the val, with the best features of both. Read more about how we are upgrading all vals on our platform here.

Yonge Street Toronto,a blog & newsletter project by Victor

Today we’re releasing Val Town Projects in public beta to unlock a whole new level of complexity for what you can build in Val Town. Projects are groups of vals, files, and folders that are versioned collectively, and deployed on our serverless platform. They support powerful workflows, such as feature branches, that make it easy to build and deploy large applications.

Projects solve the biggest problem with Val Town: vals are too small. A val is just a single file.

Despite that, you all have built incredible things with vals. Recently we’ve seen a transcription app, a p2p file transfer service, a Linear & Github daily LLM summarizer, citizen data journalism, and much more.

But vals become unwieldy after a couple hundred lines of code. The pain is especially acute when using an LLM to edit or rewrite hundreds of lines in a single val file.

A Personal CRM by CatherineJue - built mostly by Townie AI. It becameunwieldy after a thousand lines.

Unfortunately, things get worse if you break up a single val into multiple vals that import each other. For example, I broke up the Date Me Directory, an alternative dating website, into a handful of vals, one for each page in the site. Whenever I want to make a change without affecting production, I need to manually fork each of those vals one-by-one, and then manually update all the imports in each of them to point to the forked versions. Then getting the changes back into the production vals was shttps://blog.val.town/_astro/DateMe.DtBtNDe0_yMinU.webpmg src="/_astro/DateMe.DtBtNDe0_yMinU.webp" alt="Date Me Directory - an alternative dating website. It became an unwieldy collection of vals with many disorganized forks." loading="lazy" decoding="async">

Date Me Directory - an alternativedating website. It became an unwieldy collection of vals with manydisorganized forks.

Instead most users either stuff all their code into a single super long val or just made all their changes directly to their main production vals (sometimes breaking it briefly). Or they moved off Val Town entirely. We needed a solution to dramatically increase the scope of what you can build on Val Town.

Val Town Projects are groups of vals, files, and folders that are versioned, branched, forked, and merged collectively. With Projects, you can create feature branches and test changes without affecting production.

As you may know, Val Town deploys your code in 100ms. This is a magical way to code directly in the cloudinstead of on localhost and deploying to the cloud later. This kind of live feedback loop is incredibly fun. It’s almost addicting. It also means that you are building in the exact same environment that you deploy in, cutting out all the complexity of managing multiple environments.

But just because you’re deploying to the cloud on every save doesn’t mean you want to deploy to production on every save. Val Town Project branches give you the best of both worlds: you can rapidly prototype in the exact same environment that you’ll deploy to, but without affecting production. It’s like localhost and PR previews had a baby: super fast iteration cycles, paired with immediately hosted URLs you can share.

And the final kicker is scale. Once your app is running on Val Town, it’s fully deployed and you can rest easy. You don’t have to worry about provisioning more or less compute: our serverless platform will automatically scale your app to handle any number of users. To be clear, our Scale Plan is slated to launch in Q2 2025. Currently, Val Town scales to 100k and 1m runs per day on the Free and Pro plans, respectively.

We considered building Projects as git repos, but decided that becoming a git host at scale was too much complexity for the small subset of git’s features that we wanted (diffs, branches, merges). We realized that it’d be much simpler to build our own version control system.

This sounds like sacrilege – even to us. Everyone at Val Town is a happy git user. Yet if you think about it, many pro tools had to build their own version control, including Google Docs, Figma, and Notion. We feel heartened to hear how speculative and uncertain this decision felt at Figma – to build their own multiplayer system instead of using OTs (operational transforms), which was the standard at the time given its success in Google Docs.

As a startup we value the ability to ship features quickly, and OTs were unnecessarily complex for our problem space. So we built a custom multiplayer system that’s simpler and easier to implement.

At the time, we weren’t sure building this feature was the right product decision. No one was clamoring for a multiplayer design tool—if anything, people hated the idea.

…Our bet paid off, and these days it’s obvious that multiplayer is the way all productivity tools on the web should work, not just design.

– Evan Wallace, Co-founder, Figma, How Figma’s multiplayer technology works

We too built something that nobody was clamoring for, but that we hope will seem obvious in the retrospect. Experienced programmers will feel right at home in Val Town Projects – branching, forking, merging, and pull requesting – collaborating directly within the same platform that you’re iterating and deploying on.

New programmers might never need to learn git at all. I can still remember the frustration of learning git for the first time, and I’m excited to think that we might be able to save a new generation of programmers from that pain. Particularly in this new age of LLM programming, we think there’s an opportunity to build something simpler.

And if you really need git, Projects are git-friendly, so we will soon build a way to sync them to and from a git repo. We’re racing to release a Beta API for Projects, which will allow you to have full control over your source code, sync to and from a git repo, and wherever else you want.

Learn more about Val Town Projects here in our docs.

Up till now, Val Town has excelled at small pieces of code, such as little integrations and automations, such as social media monitoring, data sync, and single-page sites. We’re excited to see what you can build with a much larger scope in Projects, such as:

We want to highlight the biggest Project built so far. Nathanael is building JournalGroove, an app to help people get more insight from their journaling practice. The frontend of the app is simply Notion, and the backend is hosted on Val Town. Nathanael has a series of cron vals that run throughout the day to process your latest journal entries and deliver personalized, AI-generated reports back into your private Notion space.

Before Projects, Nathanael had dozens of vals scattered across folders, and versioned separately. He was able to migrate them all into a singhttps://blog.val.townhttps://blog.val.town/_astro/JournalGroove.BhDNDKQm_ZGXnqy.webpp>

JournalGroove - a project to help peopleget more insight from their journaling practice by NathanaelSilverman

“Val Town enabled me to grow this from an idea into a fully-fledged project much faster than I would have expected. I like that Projects are separate from my other random vals. And I look forward to using branches, eventually collaborating with other people.”

- Nathanael Silverman

You can start building with Projects right now.

We can’t wait to see what you build! If you’re new to Val Town, you can sign up free here.

Edit this page

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Val Town Projects 云端协作 版本控制 LLM编程 自动扩展
相关文章