[React Native]一款RSS阅读器

news/2024/6/20 1:41:32

耗时近两月,一个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…

sty3uiv694_Uiv:由Vue 2实现的Bootstrap 3组件

sty3uiv694iv (Uiv) Bootstrap 3 components implemented by Vue 2. 由Vue 2实现的Bootstrap 3组件。 依存关系 (Dependencies) Vue 2 (tested on ^2.2.6) Bootstrap 3 CSS (tested on ^3.3.7) Vue 2(在^ 2.2.6上测试)Bootstrap 3 CSS(在^ 3.3.7上测试) 支持的浏览器 (Suppor…

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

(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包:导入…

mysql主从复制及维护--单主、双主

本文讲述了MySQL单主、双主模式的配置方法、注意事项、和维护的一些事项。 1. 单主配置实例 1.1 整体流程: master与slave时间同步master开启二进制记录功能并授权一个特定的用户对二进制文件有复制权限slave开启中继日志功能,执行同步语句,开…

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 通…

python切片的作用_Python切片索引用法

这篇文章主要介绍了Python切片索引用法,结合实例形式详细分析了Python切片索引的常见使用方法与操作注意事项,需要的朋友可以参考下本文实例讲述了Python切片索引用法。分享给大家供大家参考,具体如下:在Python中,可以用用简单的方括号加一个…

基于node.js的vue_vue.js中基于zxcvbn的密码强度计

基于node.js的vue密码强度测试仪 (vue-password-strength-meter) Interactive password strength meter based on zxcvbn for vue.js 基于zxcvbn的vue.js交互式密码强度计 现场演示 (Live Demo) https://apertureless.github.io/vue-password-strength-meter/ https://apertur…

vue -- 路由懒加载

vue的路由懒加载 我们可以把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件。 component可以是一个箭头函数,我们可以使用动态 import语法来定义代码分块点;如果想在network里面看到动态加载的组件名字&#xf…

了解浮点数的编码形式

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