streamlit、shiny、gradio、fastapi四个web APP平台体验

streamlit、shiny、gradio、fastapi四个web APP平台体验

经常被问的问题就是:web APP平台哪个好?该用哪个?刚开始只有用streamlit和shiny,最近体验了一下gradio和fastapi,今天根据自己的体会尝试着回答一下。

使用R语言的话,用shiny比较方便,使用python的话,四个都可以用。

用户界面

从美观方面来说,最美观的应该是streamlit,字体按钮等颜色搭配都比较鲜艳;shiny有一点"学术气",方方正正,也有很多主题可以选择;gradio整体比较"素", 可以用"简洁"来形容;fastapi应该算是没有界面。

从组件的丰富程度来看,shiny应该是最丰富的,网页上还有的都有,像提示按钮,弹出框等都有;streamlit 感觉稍微少一些,但是也足够用,两各都有丰富的第三方库的支持,包括算法的支持和组件的支持,用这两个库的人也是做多的;gradio是最近的比较晚,主要是自身带的一些组件;fastapi没有组件。

应用领域

shiny主要应用在数据科学领域和机器学习领域,数据处理、统计分析和预测模型构建,还有生物信息学,深度学习的文字、图片和视频的处理较少涉及;streamlit就都有涉及,比较全面一些;gradio也都可以处理,个人感觉偏深度学习一些,对LLM、视频和图片的处理有一些独特的设计,比如streaming形式,用于一边处理一遍显示返回数据;fastapi主要功能是产生API供其它的程序调用,本来觉得在数据科学放,方面没什么用途,最近API可以作为LLM模型调用的组件(工具),用fastAPI部署机器学习模型似乎也有了用武之地,顺便说一句gradio也可生成API。

部署的便利性

四种web APP都有途径进行免费的部署,一般都是限制算力,shiny官网有5个的数量限制,streamlit官网没有数量限制,算力也比shiny给的多,gradio是huggingface的,所以部署在算力和数量上也算没问题,shiny和streamlit也可以在huggingface上进行部署,但是国内不好访问。

另外,一个我常用的部署的方式就是使用shinyproxy,官方文档中是支持四种web APP的部署,shiny和streamlit 是完全没问题的,但是gradio尝试了几次,还是有些问题,fastapi最近会尝试一下,部署成功了API怎么用还要再研究。

使用建议

这些web APP平台还在不断地发展,就个人经验来说,选择哪个平台主要看使用目的,数据处理和机器学习可以选择shiny和streamlit, 深度学习可以选择gradio和streamlit, 如果想LLM模型结合,我感觉gradio和fastapi似乎更有前途。

总结

web APP的代码相对简单,门槛不高;花费也不多,更不需要像手机app等被各大平台限制,也不需要软件著作权。相对地,功能却很广泛,数据分析上可以把自己的数据分析套路固定成APP,节省分析的时间并分享给别人使用;机器学习和深度学习上以承载构建的模型并实现与用户的交流。随着AI时代的到来,在AI应用方面也会占有一定的地位。

相关推荐
小小弯_Shelby3 天前
H5网页打包成安卓apk
前端·web app
cqths4 天前
.NET 9.0 的 Blazor Web App 项目中 EF Core 【事务】使用备忘
数据库·c#·.net·web app
cqths8 天前
.NET 9.0 的 Blazor Web App 项目,自定义日志 TLog V2 使用备忘
数据库·c#·.net·web app
cqths8 天前
.NET 9.0 的 Blazor Web App 项目,进度条 <progress> 组件使用注意事项
前端·c#·.net·web app
cqths1 个月前
.NET 9.0 的 Blazor Web App 项目、Bootstrap Blazor 组件库、自定义日志 TLog 使用备忘
数据库·c#·.net·web app
预测模型的开发与应用研究1 个月前
Web APP 阶段性综述
web app
cqths1 个月前
.NET 9.0 的 Blazor Web App 项目中 Hash 变换(MD5、Pbkdf2) 使用备忘
c#·.net·web app
Rossy Yan2 个月前
【HarmonyOS应用开发——ArkTS语言】欢迎界面(启动加载页)的实现【合集】
前端·typescript·harmonyos·arkts·web app·鸿蒙应用开发·合集
亲爱的小小安妮呀2 个月前
JDBC(Tomcat)
java·servlet·tomcat·web app