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应用方面也会占有一定的地位。

相关推荐
Rossy Yan4 天前
【HarmonyOS应用开发——ArkTS语言】欢迎界面(启动加载页)的实现【合集】
前端·typescript·harmonyos·arkts·web app·鸿蒙应用开发·合集
亲爱的小小安妮呀11 天前
JDBC(Tomcat)
java·servlet·tomcat·web app
陶庵看雪19 天前
app开发之原生开发、H5开发和混合开发的区别
web app
预测模型的开发与应用研究1 个月前
数据分析的尽头是web APP?
web app
乌啼霜满天2492 个月前
Java Web项目的webapp目录
java·开发语言·web app
YesPMP外包平台官方2 个月前
H5开发指南|掌握核心技术,玩转私域营销利器
大数据·ui·小程序·数据分析·html5·软件需求·web app
画江湖Test2 个月前
appium 的工作原理
自动化测试·python·web app·1024程序员节
emperinter3 个月前
sankey.top - 桑基图/桑吉图/流程图/能量流/物料流/能量分析
macos·ios·音视频·流程图·能源·apple vision pro·web app
FlYFlOWERANDLEAF3 个月前
Blazor Web APP学习记录
学习·microsoft·web app