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

相关推荐
牢七1 天前
小迪web自用笔记59
web app
牢七2 天前
小迪Web自用笔记58
web app
牢七4 天前
小迪web自用笔记55
web app
牢七4 天前
小迪自用web笔记53
web app
牢七5 天前
小迪web自用笔记54
web app
牢七5 天前
小迪Web自用笔记52
web app
牢七6 天前
小迪web自动笔记50
web app
牢七6 天前
小迪web自用笔记49
web app
牢七6 天前
小迪web自用笔记48
web app
牢七7 天前
小迪web自用笔记47
web app