WeTrident

一站式跨平台金融 App 开发套件
授权协议 Apache
开发语言 JavaScript
所属分类 手机/移动开发、 手机开发包
软件类型 开源软件
地区 国产
投 递 者 谷梁俊楚
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

WeTrident的目标

一站式金融App开发套件。

WeTrident的开发背景

WeTrident由微众银行App团队开发。开发过程中我们调研了其他RN开发框架,发现大部分适合比较小的项目,或者是用到后期要真实运营时还需要补充很多运营相关的基础能力。要开发真正商业运营的App,需要很多打磨,用现有的框架无法做到快速地、高质量地开发。因为这些痛点,促使我们开发了WeTrident,希望在开发、运营、测试几方面提供更好的基础开发设施。

WeTrident的技术选型风格跟我们团队一致,稳健为第一要求,不盲目追求新技术,不炫技和随意地使用不稳定的技术方案。在跟进前沿技术和稳定实用之间,我们毫不犹豫会选择稳定实用。这也是WeTrident作为一套开发可商业运营的App框架的基础原则。如果你的团队也需要快速开发稳定高质量的产品,那WeTrident应该会成为你的选择。

WeTrident给你提供了什么

  1. 经过时间验证的技术栈:省去你在选择尝试各种新技术时,耗费在填补各种坑上面的时间。
  2. 合理的App架构设计:在这套框架的约束下面,新人也可以快速地开发出高质量代码。
  3. 全面的调试信息:统一将请求、修改状态等操作的日志统一输出,提高调试效率。
  4. 完善的构建和发布环境:帮你避开各种构建环境的坑。

PS:WeTrident在设计过程中会增加一些限制,作为一套通用框架,我们深知应该留给使用者足够的扩展空间。所以我们在设计过程中尽可能的控制限制的数量,并且做到,“框架增加一项限制,就至少给使用者带来一批好处”。

开发环境依赖

WeTrident目前仅支持macOS操作系统。通过使用 @webank/trident-cli 初始化项目,如果有任何相关问题,WeTrident会提示出来以便协助你解决。开发前需要先配置Android和iOS开发环境,具体配置方法可以参考Android和iOS官方文档。

Demo

创建项目

为了快速的理解WeTrident的使用,我们从一个简单应用开始,逐步的说明各种基础用法。整个讲解过程中一些UI细节实现不会详细描述,你可以通过阅读快速入门,来完成一个简单的图书管理App。

App的页面大致如下:

  • App名称:WeBookStore
  • App BundleId(Android上的packageName):com.wetrident.wbstore
  • App schema:wbstore

创建项目

1. 安装trident-cli

npm install -g @webank/trident-cli

2. 用trident-cli 创建项目

tdt init --name=WeBookStore --bundleId=com.wetrident.wbstore --scheme=wbstore --eslint

等待安装完成即可,如果需要自定义这些参数也可运行 tdt init 并根据命令行提示输入自定义参数即可。

PS:初始化过程中会对当前的开发环境做检查,如果有提示某些环境不满足,请先按照提示安装或者升级。

3. 启动应用(iOS)

cd WeBookStore

# 启动react native packager
tdt packager start

# 通过命令行启动App
tdt run ios 

# 也可以在XCode中打开项目, 在XCode中Run即可。
open ios/WeBookStore.xcworkspace/

4. 启动应用(Android)

# 启动Packager,如果已经启动可以忽略
tdt packager start

# 通过命令行启动App
tdt run android

# 也可以在Android Studio中打开'WeBookStore/android', 
# 用Android Studio打开项目运行即可, 请确保gradle的代理配置已经如本文前面部分所述设置完成。

如果你的网络不好,连接maven失败,可以选择添加阿里云的maven镜像,在WeBookStore/android/app/build.gradleWeBookStore/android/build.gradle中的 repositories 区域添加如下代码:

maven{ url'http://maven.aliyun.com/nexus/content/groups/public/' }
maven{ url'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
maven{ url 'https://maven.google.com' }

恭喜你,到这里你已经成功的创建并运行了一个新的WeTrident工程。需要调试可以使用React Native官方调试工具,调试前请先安装最新版本Chrome。具体使用方法见: React Native调试方法

WeTrident的完整文档请访问:https://webankfintech.github.io/WeTrident

Contributors

    

 相关资料
  • - golang 协程交替打印数字 - 删除链表重复元素,重复元素不保留 其他就是一些项目相关的问题。 总体做的事情是配合度小满的私有云改造,,工作强度大概是10-9-5,周末可能需要加班 #面经#

  • 本人哈工大大三本科人工智能,想着保研,想着摆烂但是室友拉着投美团,笔试答的不好,以为不会一面,结果周四告诉我要下周一 一面,太抽象了。。。leetcode 刷了不到30道。。。面经就准备了3天。。 1.上来先自我介绍(说了项目和奖项、简单说了技术栈。。。我甚至还说了政治面貌) 2. 拷打项目((1)爬虫生成知识图谱 (2)智能卫星图像分析 (3)AI+物联网的一个项目 ) 3.讲项目的同时说这个项

  • 打x的问题没答上来 [] 自我介绍 [] 讲一下C++里面的智能指针 [] 你提到了RAII的思想,能不能具体讲讲 [x] 按照RAII的思想,如果打开一个文件描述符失败了,一般会怎么处理? [] 讲讲C++里面new和malloc的区别 [] new具体是怎么分配内存的? [] 你提到了brk和mmap这两种分配方式,能详细讲讲吗? [] 什么时候选择brk,什么时候选择mmap?内存阈值是多少

  • 自我介绍,然后简单了解一下情况(如学了哪些课程,考研情况等) 专业知识考察: 1.问了排序算法有哪些,复杂度和稳定性分析。 2.问了三次握手和四次挥手过程,可以不是三次吗,挥手的时候不等待直接释放行不行。 3.对称加密和非对称加密算法 4.堆和栈的区别 5.Mysql有哪些关键字(增删查改分组排序),数据库安全级别和四大特性 6.linux常用命令,还给了个题目问用linux命令怎么实现 7.算法

  • Chromium是一个巨大而复杂的跨平台产品。我们试图在不同平台间共享尽可能多的代码,同时为每个平台用最合适的方式实现UI和操作系统集成。这提供了一个更好的用户体验,但它给代码增加了额外的复杂度。这个文档描述了保持这种跨平台代码简洁性的推荐实践。 我们使用大量不同带后缀的文件来表示一个文件应该被使用的时机: Mac文件中,低层级文件使用_mac后缀,Cocoa(Mac UI)文件使用_cocoa后

  • 一面 1h40min 1. ioc 2. aop aop和oop 3.抽象类和接口 4. ==和equals() 5. final关键字 6. 深拷贝浅拷贝 7. 工厂模式和单例模式,举例,适用场景,作用 8. mybatis ${}和#{}的区别 9. MQ事务消息 10. aftersync和aftercommit MySQL半同步复制 11. 数据库事务特性 隔离性 12. 排他锁 意向排他

  • 2:00 - 3:00 【测试开发】 1.自我介绍 2.实习经历,实习中遇到的问题 3.代码考察:一副扑克牌,四种花色,点数1-13 ,大小王共54张,大小王可以为任意花色和点数。任选两张牌点数之和为18的概率 4.设计测试用例,用户名,密码,登录三个设计功能和非功能测试用例 5.登录按钮的测试,怎么验证用户是合法的(回答的数据库,最后给讲解是cookie和session) 6.反问(技术栈 Ja

  • 面试体验相当好,一共25分钟,由于是一面因此整体也比较基础,只是我太菜了。 自我介绍 实习和项目大部分是算法,为什么不投算法岗:答算法岗一般都是研究生 C++: 面向对象和面向过程的理解 类的缺点 C++三大特性和理解 多态相关 数据库: 讲一讲Mysql默认引擎的索引:不会 给定一个查询语句,讲一讲索引的执行过程:不会 Mysql隔离级别:忘了 会什么:只会写SQL语句 操作系统: 线程与进程区