首页 > 其他分享 >四种方法打造自己的APP

四种方法打造自己的APP

时间:2024-03-26 17:35:59浏览次数:26  
标签:打造 静态 APP 应用程序 github https Cloudflare com 四种

导读

原文:Four Ways to Build Web Apps
作者:Tom Hummel
地址:https://tomhummel.com/posts/four-web-apps/
本文为部分翻译加精简,内容用作学习交流

1.Hugo静态框架 + 渐进式网页应用程序

尽管JAM Stack技术让人们对静态网站关注度的有所改观,但是静态网站始终是被低估,没有被充分利用的。
静态网站的持续运营成本几乎为0,配合CDNs运行良好,简单易上手,如果你想开始你的APP部署,静态网页是一个很好的起点。
此外,渐进式网页应用程序(Progressive Web App)可以让静态网页在移动端运行的如同原生程序,你可以不需要传统后端来叠加互动程序和尊重隐私的数据持久化存储(原文:privacy-respecting persistence)。

2.Cloudflare Workers

Cloudflare Workers的serverless模式让你简单建立你的独立网站应用。
只需在Cloudflare Pages git仓库的根目录下添加一个/functions目录,那么这些函数就会自动与你的静态网站一起部署。比如,在/functions目录下的form-submission.js脚本将会被部署在/form-submission/路径下。

  • 基础投入:免费试用或者每月五美元给额外的数据存储服务
  • 适合于:
    自定义响应头信息
    注重隐私的使用分析
    用户身份验证/授权
    处理表单提交
    触发事务性邮件发送
    动态构建JSON负载数据
    与存储系统(Cloudflare或第三方)进行交互
    构建A/B测试及特性开关功能
    尽可能地在全球范围内靠近消费者建立存在点以实现更快访问速度
  • 不适合:
    复杂路由方案或非常大型的应用程序
    需要更重型框架和高级功能的应用程序
    需要更先进或功能丰富的运行环境的应用程序
    多提供商架构(身份认证和网络配置可能会变得繁琐或脆弱)
  • 样例:
    https://github.com/tphummel/braden-looper
    https://github.com/tphummel/bobby-witt
    https://github.com/tphummel/nick-swisher

3.独立linux服务器

选择你的runtime(node.js, ruby, go, python),操作系统系统和代理程序,将数据存入数据库,不需要负载均衡、集群、节点发现、节点追踪以及外部数据库等一些列复杂概念,系统越简单,故障越简单。

  • 供应商:AWS EC2, OCI Compute, Azure Compute
  • 基础投入:一些供应商有免费试用,之后5美元一个月基础服务,额外的网络带宽和存储服务等另需收费
  • 适合于:
    需要对操作系统、运维工具/代理、应用程序运行时环境和框架进行全面定制的项目。
    将主要数据存储与应用程序代码共同部署在同一进程中,以便简化数据库连接。
    尽可能最大程度地降低每次请求的成本。
    力求99.9%的可用性。
    服务器集中在一个地理位置。
    利用IaaS提供商提供的身份认证和网络基础组件,同时避免不可逆地绑定于该特定提供商。
  • 不适合:
    不希望承担管理哪怕是一台Linux服务器开销的团队——包括安全补丁更新、备份和灾难恢复方案等工作。
    力求99.999%或更高的可用性要求。
    工作负载可能会超出垂直扩展上限(注:这个上限实际上非常高)的情况。
    如果你需要全球多地的接入节点(即全球分布式的服务能力)。
  • 注意:单个服务器存在数据丢失风险,避免的方法则是利用如litestream、fluentbit、prometheus或其他类似技术,或者是诸如honeycomb或datadog这样的SaaS提供商。
  • 样例:https://github.com/tphummel/CaNFlySLO

4.PaaS平台上的容器

选择一个PaaS服务提供者,将你的服务运行在容器中,但不包括使用诸如EKS、AKS、GKE或OKE这样的Kubernetes托管平台。这些“托管”的服务方案伴随着显著的运营成本,并且不利于控制项目复杂性。

总结

  • 以上建议囊括80%的需求,具有一定规模的组织可能会从平台所提供的有偿的部署工具/服务中获益(那种可替代Nomad或者Kubernetes功能的)。
  • 复杂性是难以被去除的,但是可以将其过度给他人,比如,静态网页一般不需要apache或者nginx,云供应商将提供这些能力,并将其商业化,随之而来的是成本的降低。
  • IaaS的认证功能和网络功能通常被低估,它其实可以优雅,简单,安全的满足大部分人的需求。
    私网终端:从私网访问云供应商的平台API
    主体身份认证:通过授权一个身份去管理其他的秘密令牌,密码

标签:打造,静态,APP,应用程序,github,https,Cloudflare,com,四种
From: https://www.cnblogs.com/ling-2945/p/18092822

相关文章

  • 网页设计必备技能:如何用CSS盒子模型打造完美布局?
    在网络设计的世界里,盒子模型是构建网页布局的基石,只有理解了盒子模型,我们才能更好的进行网页布局。HTML中的每一个元素都可以看成是一个盒子,拥有盒子一样的外形和平面空间,它不可见、不直观,但无处不在,所以初学者很容易在这上面出问题。今天就让我们来深入了解一下盒子模型。一......
  • 【附源码】Node.js毕业设计个人健康信息记录移动应用app(Express)
    本系统(程序+源码)带文档lw万字以上  文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着科技的进步和互联网的普及,移动应用已经成为人们日常生活中不可或缺的一部分。在健康管理领域,个人健康信息记录移动应用APP的开发和应用也日益受到关注......
  • 打车app软件系统功能开发
       打车APP软件系统的功能开发,是按照同行的软件进行定制的,在原来的基础上增加了一些特殊的功能。   用户界面:申请账号登录,第三方账号登录,多角色账号登录。   实时位置确认:用户位置确认,用户可以实时查看自己的位置,并设置上车地点。   目的地:输入目的地,司机......
  • 开发一款打车APP功能模块
       开发一款打车APP的功能,就是要先确认给你的需求,再设计好软件的UI,后期才能交给程序开发。   预车功能:用户提前选择约车的时间,地点,司机看到订单前往目的地接人。   路况显示:展示当前道路的实际情况,帮助司机贺乘客规划路线。   平台活动:提供各种优惠活动,如优......
  • 打车代驾app软件小程序开发定制
       打车代驾APP软件和小程序软件功能开发,除了基本的功能外还需要添加一些自己的想法,还有按照用户的使用习惯添加功能。   智能调度系统:打车软件会按照市场规律调整,例如用户需求、司机位置和交通状况,实现智能派单,提高效率。   语音导航:为司机提供语音导航功能,方便......
  • Building an Automatically Scaling Web Application
    2024年春季云计算课业1:构建一个自动伸缩的Web应用程序截止日期:2024年4月15日,星期一1目标和范围在这项任务中,我们将为(非常)琐碎的Web构建一个小型的自动伸缩测试平台应用任务的目标是熟悉伸缩Web的各个方面应用程序,这将提高您对低级/基本实现的理解云系统的详细信息。正如我们在......
  • 大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展
    https://www.cnblogs.com/ting1/p/18096103 0.前言大模型发展史早期阶段(1950s~1980s)在1950年代初期,人们开始尝试使用计算机处理自然语言文本。然而,由于当时的计算机处理能力非常有限,很难处理自然语言中的复杂语法和语义。随着技术的发展,自然语言处理领域在20世纪60年代和70......
  • python 实现获取与下载网页中图片的四种方案
    方案一利用urlretrieve()函数链接到图片url直接储存图片urlretrieve是urllib库中的一个函数urllib库是python的内置包,不需要下载安装urllib包含了四个模块分别是:request:基本的http请求模块,用来模拟发送请求。error:异常处理模块,捕获请求中的异常,然后进行重试或其他的操作以......
  • 提升团队协作效率:欧奥PicHome打造无缝资料共享平台
    1.引言在快节奏的工作环境中,团队成员需要快速访问和共享信息。有效的资料共享不仅提高工作效率,还能促进团队协作和创新。然而,许多团队仍在使用传统的文件共享方法,这些方法往往效率低下,难以满足现代工作的需求。这时,欧奥PicHome作为一款强大的资料共享工具,应运而生,为团队提供了......
  • 基于SpringBoot+Vue+uniapp微信小程序的乡村政务服务系统的详细设计和实现(源码+lw+部
    文章目录前言项目运行截图技术框架后端采用SpringBoot框架前端框架Vue可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......