我写了一个TypeScript虚拟机【闪点清单】

TypeScript(TS)是一个伟大的发明,让我们在复用JS生态的同时拥有了静态类型语言的开发体验。TS本质是一门预编译语言,编译到JS后再使用JS虚拟机执行,由于强依赖于JS,也因此无法摆脱JS的一些顽疾,比如执行效率。而TS本身是静态类型语言,拥有确定的数据类型标记,只是在转义为JS时丢失了类型标记;如果我们能直接执行TS程序,而不是先转义为JS再执行,这些数据类型标记可以为程序带来很大的性能提升。…

从0开始设计Flutter独立APP | 第三篇: 一劳永逸解决全局BuildContext问题

鉴于Flutter的高性能渲染、跨平台、多端一致性等优势,闪点清单在移动端APP上,使用了完整的Flutter框架来开发。既然是完整APP,架构搭建完全不受历史Native APP的影响,没有历史包袱的沉淀,设计也能更灵活和健壮。全局BuildContext,几乎是所有Flutter开发者的一个痛点。这个痛点有多痛呢?我们来列举一下场景: 路由跳转、弹窗、媒体查询,全部依赖于BuildContext,如果在Service层(或其他非UI层)做这些操作,必须要逐层传递正确的BuildContext实例。依赖于BuildContext的逻辑,必须写在某一个页面的Widget初始化中,否则无法拿到正确的BuildContext;而一些全局初始化的逻辑必须要写在某一个页面里,而如果首次唤起的不是这个页面,需要手动保证初始化逻辑不出问题。获取当前前台页面的路由,可以用ModalRoute对象,但必须拿到目标页面的BuildContext才可以,Navigator的BuildContext是拿不到的。MediaQuery、Navigator、Overlays的BuildContext不是一个,不能用错了。Flutter绝大部分第三方UI库是依赖于BuildContext,意味着你必须要在APP初始化后才能使用这些库,即使是toast这样的工具UI。等等等等......社区推荐方案在Android中,我们可以用getApplicationContext解决全局context问题,Flutter官方并没有提供建议的方案,不过社区有一些推荐的解决方案,比如使用GlobalKey的方案: @override Widget build(BuildContext context)…

如何用闪点清单来做时间管理?

时间管理不仅仅是为了提高做事的效率,更重要的,它能够延长我们生命的长度。闪点清单是一款悬浮清单软件,拥有普通清单软件的任务管理功能,同时悬浮的特性让任务操作更加便捷、灵活、高效,是高效率办公学习的必备软件。如何处理每天固定的事情?每个人每天都会有几件固定的事情要做,而这些事情,我们只需要在合适的时间,按照平常的节奏去完成就好。 使用闪点清单,我们可以把任务指定为“每天循环”的任务。这样我们便会在每天固定的时间收到任务提醒。如果我们只希望工作日提醒,便可以设置为“工作日循环”。 大工作量任务如何拆分?一件大事儿,往往会包含几个小事儿,需要单独去完成每件事儿,这时我们就可以用子任务来进行任务管理。 如何提前提醒?如何多提醒?下周有个重要的会议,我要提前1天准备,到时候务必提前1天提醒我,然后开始前的1个小时,再提醒我一次。 多提醒的场景设置,可以在APP中很方便地进行设置。 零碎的事情如何处理?每天总有很多零碎的小事,打扰到我们的正常的工作节奏。对这些小任务、杂事儿,我们可以先记录下来,然后集中5-10分钟的时间,一次性处理完成,或分批处理完成一部分。 快速记录小事儿,可以使用闪点清单的悬浮添加任务功能,输入时间、任务,Enter确认即可。…

闪点清单会收费吗?

闪点清单会收费吗?很多同学很关心这个问题。闪点清单是一款悬浮清单软件,界面简洁、功能强大、使用方便又灵活。很多同学看到第一眼就喜欢上了,也一直关心闪点清单的收费问题。闪点清单目前还没有收费策略,而且保证目前已经开放出来的功能,不会进行收费,大家可以放心使用。 闪点清单后期会有收费模式,但会采用增值收费的方式,对于一些高级功能、增值服务进行收费。大家已经在用的功能,不会进行收费的。…

从0开始设计Flutter独立APP | 第二篇: 完整的国际化语言支持

国际化语言的支持,是很多APP都有的一个强需求,APP无论大小,只要还不想放弃国外的客户,一般就需要支持国际化。 鉴于Flutter高性能渲染和跨平台的优势,闪点清单在移动端APP上,使用了完整的Flutter框架来开发。既然是完整APP,架构搭建完全不受历史Native APP的影响,没有历史包袱的沉淀,设计也能更灵活和健壮。…

闪点清单在Windows7如果出现花屏怎么办?

问题表现闪点清单在部分Window7设备上出现花屏、白色背景问题。 解决办法Window7本身支持透明背景,但需要显卡驱动也支持,同时必须在Aero主题下才可以显示透明。 如果出现这个问题,按照下面的步骤进行操作: 在桌面上右键->个性化,选择一个Aero主题,如果软件已经正常,则无需往下继续操作。更新驱动如果界面仍然异常,则应该是显卡驱动的问题,需要更新驱动,可以下载“驱动精灵”来解决。 下载安装驱动精灵,点击“驱动管理”,找到“显卡驱动”一项,点击升级,升级完成后可能需要重启。然后再次在桌面上右键->个性化,选择一个Aero主题,此时软件应该已经正常还有异常?如果软件界面还是异常,再进行Windows Aero主题自动修复。 再次在桌面上右键->个性化,点击最底部的“解决透明度和其他Aero效果问题”。然后点击下一步,让Windows执行自动检测,检测结束后,再选择一个Aero主题即可。检测结束后,如果更改主题出现异常,重启电脑即可。…