网站开发腾讯云云函数如何实现代码除了html模板,只需要4行代码开发什么网站赚钱
2022-09-16
先放一个我已经部署好的RSS在线阅读器页面:
只要在url中传入需要解析的RSS订阅地址,比如xxxx/rss?=,就可以解析RSS并渲染成你想要的博客风格。
除了html模板,整个实现代码只需要4行代码。
概念
它是如何工作的?简单解释一下:
腾讯云功能是腾讯云提供的执行环境。您只需要编写一个简单的、单一用途的云函数,将其与您的腾讯云基础设施和其他云服务生成的事件相关联。
当然,并不是说没有服务器,而是说你在使用的时候,不需要关心底层资源,也不需要登录服务器进行优化服务器。您只需要专注于最核心的代码片段,就可以跳过复杂繁琐的基础工作。. 核心代码片段完全由事件或请求触发,平台根据请求自动并行调整服务资源。它具有几乎无限的扩展能力,空闲时不运行任何资源。代码无状态运行,可以轻松实现快速迭代和快速部署。
它的一般执行流程如下:
所以,本质上,云服务帮助你整合云资源。你只需要写最核心的代码,比如当一个请求来的时候,如何处理和返回相应的数据。所有其他与服务器部署相关的事情都留给云服务提供商。这样做的核心好处是节省了大量资源。只有当有人访问你的网站时,才会计算资源消耗的价格,大大降低了成本。
也许你只是想建立一个博客。过去,你可能需要购买一台服务器一年,至少几百元一年。其次,如果你的博客流量不是很高,可能一年也就十几块钱。
3分钟部署网站
我们打开创建函数服务页面:
选择 Web 函数模板:
然后就可以设置一些基本信息了,我这里没有修改,直接点。
等待大约 30 秒后,将创建一个服务。
接下来,我们跳转到代码编辑页面。由于我们在上面的选项中选择了Web开发,所以代码默认有一个基本的框架模板。(是什么?是的,一个web开发框架,像Java下面的那个,也可以很方便的开发一个web服务。官方文档:)
模板代码已经有了最基本的路径返回值(“/”),我们改几句,然后点击左下角的部署按钮。部署十多秒后,点击Test,我们可以看到返回的Body,如下图。这时候你访问页面,返回的结果也是一样的。
一个最基本的web服务器就可以了,不用买域名和证书,不用SSH登录服务器,不用手动编译代码。
10分钟开发一个在线RSS阅读站
上面是一个小测试,然后是一个稍微复杂一点的例子。
**我一直觉得RSS阅读是一种过时的阅读方式,但它的精神却一直流传下来。**比如微信的订阅号,可以说它的本质也是一种RSS阅读。通过关注订阅并获取更新文章的推送,您可以自定义您的阅读内容。
所以想做一个RSS解析器,可以通过传入RSS URL(很多网站还保留这个URL,比如CSDN、阮一峰的博客等)来渲染RSS链接中的所有文章,并显示在网页上优越的。以后还可以深度修改页面的显示,做一个网页版的微信订阅号,也不是不可能的,哈哈哈。
好了,我们不谈花里胡哨的东西,我们先从最简单的事情开始,渲染 RSS 链接。
我们使用的是官方的模板,环境比较完善,方便开发。
我们首先需要一个 RSS 解析的框架,其中有一个框架可以解析 RSS url。
使用 pip3 安装:
然后我们将代码添加到 app.py 中:
import feedparser
@app.route('/rss')
def rss():
feed = feedparser.parse(request.args.get('rssurl'))
return render_template('rss.html', entries=feed.entries)
在这里,我做了一波本地调试,查看了feed参数,得到了我的结果:
可以看到,解析出来的rss链接被框架解析成一个数组,每个数组就是一篇文章的标题、作者、链接等。
根据上面的参数名,我们再添加一个rss/html,放到文件夹里,写我稍微美化的html页面网站建设,把每篇文章循环插入到html中,这里我们使用自带的渲染模板:
RSS阅读博客
{% for entry in entries %}
{{ entry.summary | safe }}
{% endfor %}
两个文件修改后,点击部署,访问腾讯云分配给我们的域名:
////rss/列表
-
可以看到,我的CSDN博客的RSS流解析完美,可以一一打开。请参阅文章顶部的动画。
Web的优缺点分析
可以看出,一个网站的开发与传统的网站开发有很大的不同。它省略了传统开发中复杂但不经常修改的配置和流程网站制作,让开发人员可以专注于业务逻辑的开发。但这种发展真的很完美吗?我想到了它的优点和缺点。
**最明显的优势就是简化了开发步骤网站开发,省去了很多无聊的部署工作量。**然而,它的简化是有代价的,简化牺牲了很大一部分的灵活性和可定制性。简化有用的前提是云服务提供商已经做了这些事情并且做得很好。如果你的网站需要很多复杂的逻辑,需要优化网关的配置,那么有很多事情是做不到的,至少目前的情况是做不到的。
上面提到的弊端,其实会带来一个很大的问题,就是沉没成本。当你花很多时间在上面,却发现有一些小需求或定制无法实现时,那你就去、工单,或者选择老老实实的买个虚拟机,手动重新部署。
当然,以上观点是从开发者的角度出发的。
作为普通消费者,您可能只需要为博客部署一个静态网站,或者宣传自己的腾云网络和产品。那么它满足要求的概率就很高。
除了上面的主要矛盾之外,还有一点我想提出来,就是目前在线代码编辑页面的调试功能有点太弱了。
在最初的web模板中,在线依赖库好像缺少新版本和代码,导致我调试了可以在本地运行的代码,放了各种不成功,但错误信息却很难找到。结果,我不得不在 VS Code 的终端中手动打开服务并发出 curl 请求才能看到错误消息。
当然网站开发,这可能是我自己的弯路,但在页面上,很难一眼看出窗口在哪里。
在用户体验方面,还有很多可以做的。
总结
不知不觉又是一篇2500字的文章,一整个周末就过去了。
这个概念已经提出了几年,它的产品形态总感觉处于摸索阶段。它的用户群是开发者还是普通消费者,其实都会受到产品形态的影响。
无论如何,节省的成本是有目共睹的,我也希望我的云服务器到期后,可以在上面部署我的博客和其他服务,这样可以节省很多开支。仅成本就值得我不断关注。
如果文章对你有帮助,请转发给你的老板,你的支持和鼓励对我很重要~