[React Native]一款RSS阅读器

news/2023/12/10 15:50:52

耗时近两月,一个React Native项目。

一款纯净的RSS阅读器 - BAO

preview

项目已在Github上开源
欢迎给个star

1. 引入

  • 关于RSS:一篇Wired的文章
  • 关于React Native
  • 初衷:(1)对复杂的各大新闻客户端极其厌恶;(2)喜欢RSS"天然的","算法无关"等优点;(3)对于用JavaScript写跨平台移动应用具有浓厚兴趣

2. 功能

  • 登录/注册
  • 订阅/取消RSS源
  • 主题切换
  • 后台每十分钟自动更新RSS源

3. 主要依赖

  • redux: 全局使用redux管理状态
  • react-native-router-flux: 路由配置
  • react-native-storage: 作持久化存储,只需存储主题配置
  • react-native-render-html: 文章详情页用到的主要组件,将所有HTML元素转换成本地UI视图

4. 后台

  • 为了加速开发速度,本项目使用由LeanCloud提供的免费数据存储功能与用户系统
  • 同样在leanCloud上编写nodejs云函数,负责部分项目逻辑,如定时更新等功能。

5. 总结

  • 强烈推荐使用redux进行状态管理,redux前期上手可能比较难,但后面绝对能在很大程度上减少由众多props和states带来的复杂性,整个项目代码会清晰很多。
  • 开发期间恰逢Flutter和PWA兴起,不可避免地引起不少对React Native的对比讨论,且唱衰较多。本人认为,RN与Flutter相比,用javaScrip桥接原生视图是它最大的性能瓶颈,且很难逾越,可这也正是RN的最大优点,JavaScript语言本身优点,以及用前端的技术栈编写移动应用本身就是一种极大的诱惑。
  • 初期本想使用firebase,无奈防火墙。最终选择leancloud,不得不说,学习成本还是存在的,但这种BaaS服务绝对是小开发者最大的福利,极大地加快了开发速度。
  • 该项目完全可用,虽然还存在一些小的bug,后期会继续跟进。无奈leancloud的免费服务每日API请求有限,目前仅供自用,之后有机会还是会尝试迁移到firebase上。

本人博客:http://mountaincity.me/

GitHub repo地址:BAO

欢迎给个star


https://dhexx.cn/news/show-2406902.html

相关文章

mysql 2005开发版_Microsoft SQL Server 2005简体中文开发版下载

Microsoft SQL Server 2005 开发版使开发人员能够在32位和X64平台的基础上建立和测试任意一种基于SQL Server 的应用系统。它包括企业版所有功能,但只被授权用于开发和测试系统,不能作为生产服务器。开发版可被升级至SQL Server 企业版以用于生产。Micro…

第四次软件工程团队作业:“希希敬敬对”队团队展示

(1)团队展示 : 队名: “希希敬敬对”队员学号:龙江腾(队长) 201810775001 杨希 201810812008 何敬上     201810812004 一句话描述拟作的团队项目:Python制作…

mysql驱动jar配置_在java中使用数据库的配置方法(在java中的驱动程序是一个独立的“jar包”)...

1.进入maven的网址中:https://mvnrepository.com/在maven仓库中可以看到 mysql jdbc driver的版本是非常多的,你下载jar包的版本必须要和你的mysql服务器版本一致2.查看mysql服务器版本:5.73.选择jar包版本并下载4.使用jar包:导入…

vue chart.js_通过Chart.js和Vue.js轻松漂亮的图表

vue chart.jsVue图表 (vue-chartjs) vue-chartjs is a wrapper for Chart.js in vue. You can easily create reuseable chart components. vue-chartjs是vue中Chart.js的包装。 您可以轻松创建可重复使用的图表组件。 Easy and beautiful charts with Chart.js and Vue.js 通…

了解浮点数的编码形式

了解浮点数的编码形式1. 整数的编码先看下整数在计算机中的编码方式。 在计算机中,无符号数编码只能表示非负数,有符号数能表示负数、零和正数。常见的有符号数使用补码形式进行编码。补码编码中最高位表示负权,0表示正数,1则表示…

java中t_java中的'\t'是什么意思?

展开全部JAVA 中是泛型的意思意思是Tree这个类里面需要用到另外一个类,但是又不能确定要用到的那个类的具体62616964757a686964616fe58685e5aeb931333431366339类型,所以暂时用T来代替,当具体的程序知道要用到的那个类型是什么的时候就用那个…

Spring 中好用的泛型操作API

随着泛型用的越来越多,获取泛型实际类型信息的需求也会出现,如果用原生API,需要很多步操作才能获取到泛型,比如: Java代码 ParameterizedType parameterizedType (ParameterizedType) ABService.class.getGene…

muse-ui.css_Muse UI:适用于Vuejs 2.0的Material Design UI库

muse-ui.cssVuejs 2.0的Material Design UI库 (Material Design UI library for Vuejs 2.0) A Vue 2.0 and Material Design based UI Component library 基于Vue 2.0和Material Design的UI组件库 Muse UI basically implements every component outlined in the Material Des…

react组件聚合和继承_具有排序和聚合功能的数据表组件

react组件聚合和继承数据表 (Datatable) The datatable component is essentially a "glorified table" designed to efficiently display dense data. Datatables arent a heavily used component but they are fundamental to business applications - particularl…

pandas数据清洗策略2

首先,我们先要读入数据: 然后检查数据出现的问题: 1.没有表头,增加表头 2.去除重复值: df.duplicate()使用布尔数据查看数据表中是否有重复值,df.drop_duplicates(),删去重复的值 这里有两点需要说明:第一&…