返回首页
最新
大家好!我是FlutterJS的创始人。
问题:Flutter Web非常适合构建应用程序,但对于网站来说却很糟糕。它将所有内容渲染到Canvas/WASM,这意味着:
- 2-5 MB的包(在移动设备上加载缓慢)
- 零SEO——谷歌无法索引Canvas像素
- 较差的可访问性(没有语义化的HTML供屏幕阅读器使用)
- 初始加载时间为3-8秒
如果你曾尝试使用Flutter Web构建营销网站或博客,你一定遇到过这个问题。
解决方案:FlutterJS将你的Flutter/Dart代码编译为语义化的HTML + CSS + JavaScript,而不是Canvas。使用的语法与Flutter相同,但输出为:
- ~50-100 KB的包(小50倍)
- 完全支持SEO(真实的HTML元素)
- 首次渲染时间少于1秒
- 默认可访问
工作原理:
1. 你编写普通的Flutter/Dart代码
2. 我们的Dart CLI分析你的AST并生成中间表示(IR)
3. IR被转译为JavaScript,并使用轻量级运行时
4. 输出为搜索引擎可以索引的语义化HTML
当前状态:测试版(v0.9.x)。我们支持最常见的Material组件(Scaffold、AppBar、Text、Button、Row、Column、StatefulWidget等)。动画支持和完整的Material 3在开发计划中。
已知限制:
- 目前并非所有Flutter组件都已实现(请参见README中的兼容性矩阵)
- 方法的拆分目前需要用lambda包裹
- 复杂的动画尚不支持
- 这更适合内容丰富的网站,而不是图形密集型应用
我为什么要构建这个:我遇到了许多客户,他们喜欢Flutter的开发体验,但需要他们的网站在谷歌上排名。Flutter Web无法做到这一点。我希望能够兼得两者的优点。
我非常希望听到你的反馈,特别是:
- 你是否在使用Flutter Web时遇到了这个SEO问题?
- 你在使用场景中需要哪些组件?
- 对这种方法有任何顾虑吗?
欢迎提出关于架构、性能声明或开发计划的问题!
我是一名二年级学生,正在开发 ReTraced——一个分布式作业调度器,它将重试行为视为一等数据,而不是隐藏在日志或配置标志中。
大多数调度器只告诉你某个作业重试了 3 次,而 ReTraced 则告诉你:
- 每次重试发生的时间(带时间戳)
- 重试的原因(暂时性故障与永久性故障)
- 是自动重试还是手动触发?
- 在进入死信队列(DLQ)之前的完整审计记录
我之所以构建这个系统,是因为在压力测试时,我发现了一个回退定时的错误,只有在我能够将重试尝试以结构化数据的形式“看到”时才会显现。预期的指数延迟(5秒 → 10秒 → 20秒),但实际时间戳显示约为 6 秒的平稳期。这种可见性使调试变得简单。
*核心理念:*
- 将重试尝试存储为可查询的记录(不仅仅是计数)
- 针对每个作业的重试策略(固定、线性、指数 + 抖动)
- DLQ 是一等公民,带有完整的失败上下文
- 基于 Redis,至少一次的语义
*当前状态:* v1.0.0——核心模型稳定,可用于内部工具和实验。目标是在一年内实现生产就绪的自托管。
我正在积极寻求反馈,特别是在以下方面:
- DLQ 重放策略
- Redis 协调模式与 Postgres 的比较
- 我遗漏的重试策略边缘案例
GitHub: [https://github.com/Anshikakalpana/ReTraced](https://github.com/Anshikakalpana/ReTraced)
文档: [https://re-trace-five.vercel.app/](https://re-trace-five.vercel.app/)
我非常希望听到大家的想法,特别是那些在生产环境中构建或操作调度器的人。
我在日常工作中尝试使用AI编码助手,遇到了一个反复出现的问题:我不断重复相同的工程原则。<p>比如验证输入、谨慎处理新的依赖关系,或者遵循某些产品约束。通常的解决方案是提示或规则。<p>但在使用这两者一段时间后,我发现它们都不太合适。
- 提示在每个任务完成后就消失了。
- 规则仅在狭窄的上下文中触发,通常与特定文件或模式相关。
- 一些原则是个人偏好,而不是我希望在项目层面强制执行的内容。
- 还有一些根本不是“规则”,而是关于产品约束和过去权衡的知识。<p>这让我开始尝试为AI助手创建一个独立的“记忆”层。不是聊天记录,而是小而原子的知识片段:决策、约束和可以在相关时检索的重复原则。<p>一旦我认真使用它,有几件事变得显而易见:
- 模糊的记忆导致模糊的行为
- 长期记忆会污染上下文
- 重复条目使检索变得更糟
- 许多问题只有在你每天依赖这个助手时才会显现出来<p>AI在上下文正确时执行得很好。但决定哪些内容应该被记住、哪些应该被拒绝,以及何时可预测性比聪明才智更重要,仍然需要人类的判断。<p>我很好奇其他人是如何处理这个问题的。在与AI编码助手合作时,你主要依赖提示、规则,还是某种形式的持久知识呢?
嘿,HN,
我一生都在与时间盲症作斗争。多动症让我可以在待办事项列表上写下14个任务,并真心相信我能在午餐前完成它们。但现实在晚上11点时却与我意见相左,一切都崩溃了。
DayZen是我的解决方案:将你的一天以24小时的径向时钟呈现。任务变成彩色弧线。当圆圈填满时,就是满了。再也不用对自己撒谎,认为自己能完成多少任务。
刚刚发布了1.4版本,新增了专注模式。
这个新版本添加了我从一开始就想要的功能:
专注模式:全屏计时器,聚焦于你当前的任务。干扰逐渐消退,简单的控制让你保持专注。我之所以开发这个功能,是因为我总是查看手机,看看“接下来是什么”,结果在Reddit上浪费了15分钟。
实时活动 + 动态岛:你的专注会话在锁屏上显示剩余时间和进度条。听起来简单,但这在保持意识而不必拿出手机方面确实改变了游戏规则。
洞察:新增了分析功能(今天/每周/每月/每年),包括连续完成的任务和类别细分。结果发现我有40%的时间花在“重要但不紧急”的任务上,这解释了很多事情。
时间意识的改善:专门为多动症的时间盲症设计。视觉反馈使抽象的时间变得具体。
为什么选择径向时钟?
线性列表隐藏了你一天的有限性。它们让人感觉是无限的,因此你不断添加任务。一个圆形迫使你诚实。冲突会立即变红。你能看到空隙。在一天开始之前做出艰难的选择,而不是在午夜时分精疲力竭时。
技术细节:
- 使用SwiftUI构建的原生iOS应用
- 双向日历同步(Google、Outlook、Apple)
- 本地优先,设备间iCloud同步
- 不需要账户,不追踪,不投放广告
- 锁屏小部件使用WidgetKit和实时活动API
- 定期任务自动生成未来30天的实例
隐私策略:
你的日程安排保留在你的设备上。我不收集、出售或查看你的数据。没有分析、没有崩溃报告,除了日历同步(使用系统认证)外没有服务器调用。作为一个多动症患者和重视隐私的人,这一点对我来说是不可妥协的。
希望获得反馈:
- 径向方法对你来说是否合适,还是太过不同?
- 专注模式的用户体验:简约设计是否有帮助,还是太过简约?
- 还有哪些时间盲症的功能会对你有帮助?
试试吧: [https://www.dayzen.xyz](https://www.dayzen.xyz)
网站:很高兴回答有关技术实现或设计决策的问题。在过去一年里,我在全职工作的同时独自构建了整个应用,因此肯定还有一些粗糙的地方我正在不断完善。