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.讲项目的同时说这个项

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

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

  • 一面 预定时间10:40, 实验室同学早上9点面的,建议我提早十分钟进入后签到排队 10:33一面面试官就进入房间了,那就直接开始了 自我介绍 大致说了一下学历情况,然后简单介绍了自己简历里面的项目(一个微服务项目+一个简单推荐系统项目,都不是公司或者实验室项目,自学项目) 项目提问 面试官围绕我的两个项目,让我说说项目的架构和用到的组件,然后针对用到的技术栈进行八股提问 Spring Boot和

  • 问题内容: Mono跨平台正在采取什么措施?如何为Windows编译(在Linux中),如何在Linux中运行代码(因为没有.NET JIT编译器)? 那么使用Mono开发的特殊之处是什么?与使用Visual Studio进行开发相比,有什么优势(跨平台的东西除外)? 问题答案: 在Mono中进行开发绝对是跨平台的,有一个 警告请求者 : 努力避免使用Windows特定的API 与本机Window

  • 多平台支持 Mpx支持在多个小程序平台中进行增强,目前支持的小程序平台包括微信,支付宝,百度,qq和头条,不过自2.0版本后,Mpx支持了以微信增强语法为base的跨平台输出,实现了一套业务源码在多端输出运行的能力,大大提升了多小程序平台业务的开发效率,详情可以查看template增强特性 不同平台上的模板增强指令按照平台的指令风格进行设计,文档和代码示例为了方便统一采用微信小程序下的书写方式。

  • 问得相当细,纯背面试题基本上是不行的,所以在背的时候一定得去看一些细节和原理 开始就问项目,主要是涉及到一些项目优化问题,LCP,FID之类的(一面就问我这个问题了我没答上来,还好后面我去看了一下) 整体说了一下vue3 强缓存协商缓存(问了强缓存状态码,我是真不知道就是200,只知道协商是304),标识头 CommonJS和es6的export,根据这个出了个看代码说结果的题(强引用弱引用) 根