使Dart Web应用程序能够离线运行:3行代码

您是否曾经尝试加载Web应用程序(可能是游戏或度量转换器)并且由于网络中断而无法使用它? 真是糟糕透顶的体验,但是幸运的是,我们拥有使这些应用可供用户使用的技术。 对于大多数应用和游戏,可以在终端中使用3行Dart代码和1条命令来完成。 在这篇简短的文章中,我将指导您完成所有步骤,并确保您始终可以播放Pop,Pop,Win! 服务人员 服务工作者是在后台运行的JavaScript文件。 它可以控制与其关联的网页或站点,以非常精细的方式拦截和修改导航和资源请求,以及缓存资源。 它是一种非侵入性的Web技术:如果浏览器支持,服务人员可以改善用户体验,但是在没有它们的情况下(默认的Web行为),站点可以正常运行。 这是一个有用的属性,可启用渐进式Web应用程序(PWA) ,您可以在其中为大多数用户提供更高级的功能,同时确保其余用户不会被锁定。 作为后台处理线程,服务人员可以提供以下帮助: 脱机模式(在网络中断时从缓存中获取资源) 缓存策略(用于即时缓存的响应,以后可以使用新内容对其进行更新) 推送通知(例如在移动应用中) 消息传递(如果在多个选项卡上打开了应用程序) 我们的离线游戏体验的重要特征是:我们想玩Pop,Pop,Win !,而不遇到这种恐龙: 使用Dart的渐进式Web应用程序…

用飞镖绘制像素

受OneLoneCoder视频的启发,我想玩简单的像素图形。 我想使用Dart,而不是使用C ++或Swift(因为我使用的是Mac)。 并且本着OLC的精神,我想创建可能可行的最基本的解决方案。 因此,我认为将SDL添加到Dart控制台应用程序可能是正确的方法。 我想从SDL使用的是一些用于绘制彩色像素的基本命令。 不幸的是,似乎以前没有人走过这条路,当我尝试为SDL创建本机Dart扩展时,我发现至少在macOS上,它真的不起作用,因为我不知道该怎么做。扩展使用主线程 ,这是唯一可以控制UI的线程。 GLFW(类似的技术)进行了扩展,但又不支持macOS。 因此,由于为Dart VM创建本机扩展并不是一件有趣的事情,因此我提出了以下计划: 为什么不使用C创建一个最小的控制台应用程序,该应用程序打开一个SDL窗口,从stdin读取绘图命令并显示它们,直到关闭stdin 。 然后,由我的Dart命令行应用程序启动此应用程序,并根据需要添加尽可能多的绘图命令。 使用SDL的第一步 通过Homebrew在系统上安装SDL之后,我创建了以下C代码,该代码来自示例。 在没有任何IDE支持的情况下编写此代码是一次有趣的经历,但是我认为C部分应该足够简单,可以在任何文本编辑器中编写该代码。 该应用程序初始化图形子系统,在屏幕上的某个地方打开一个小窗口,然后等待用户关闭该窗口。…

Flutter + Firebase:我们构建OfflinePal的最好朋友-我们的新世界统治活动服务

我们在建什么? 在OfflinePal,我们正在构建一项新的服务(应用程序+网站),旨在收集从音乐会,电影院和博物馆到远足和游乐场地的所有活动,用户可以在其中直接预订门票,对活动进行评论和评分,询问和回答问题,赚取积分等。 所有活动都经过分类和组织以适合每个用户的兴趣和行为,例如个性化。 我们要覆盖的第一个国家是我们自己可爱的挪威,其武器库中有成千上万种精彩的活动可供探索。 挪威被​​征服之后,我们将继续前进,并将OfflinePal扩展到其他几个国家,而我们此后将一无所获,只不过是世界统治地位,并将我们这个小小的星球上所有国家的所有重要活动添加到这里办法。 因此,如果我们现在不介意所有初创企业所面临的常规挑战,那就是: 进行稳固的投资,寻找最佳资源,确保创造出新颖独特的事物,并制定一项在不久的将来赚钱的商业计划; 大多数创业公司也面临着一些技术挑战 。 那么,像这样的初创公司面临哪些技术挑战? 哦,天哪,我们从哪里开始? 有这么多! 开发本机应用程序应选择什么? 我们需要什么技术服务? 如何处理搜索? 什么数据库? 自托管还是托管托管解决方案? Web解决方案使用哪种编程语言?…