这是一个用React-Native写的美团客户端。使用了React-Native 0.42版本。遵循ES6语法。主要实现了美团的四个一级页面(团购、附近、订单、我的),以及部分二级页面(团购详情、Web页面)。
所有功能都是用JavaScript写的,iOS和Android的代码复用率达到了97%(别问我这个数字怎么来的,我瞎掰的)。
这个Demo的静态类型检查工具使用了Facebook的Flow。它让我写JavaScript的时候,更有安全感。个人觉得可以用两个字形容这个工具,那就是:灰常牛逼!
我试着让这个Demo的结构尽量接近实际项目,同时使用比较简单方式去实现功能。这样可以让刚接触ReactNative的人(比如我自己...)更够容易理解代码。
所有的JS代码都在src目录下。
Paste_Image.png
common
通用的工具类
img
所有图片资源
scene
所有场景
widget
通用的UI控件
api.js
网络请求的接口
RootScene.js
App的主入口,类似iOS中的RootViewController
该项目没有使用Redux。因为个人觉得目前大部分的中小型App并不需要Redux。如果盲目的将Redux添加到项目中,并不能带来太多的益处。
鲁迅曾说过:
"如果你不知道是否需要 Redux,那就是不需要它。"
Redux的作者 Dan Abramov 说过:
"只有遇到 React 实在解决不了的问题,你才需要 Redux 。"
哦,另外一个没有用Redux的原因,是我还不太会用。
App的页面跳转、TabBar、Navigation,全部通过第三方的库react-native-router-flux实现。这是一个非常牛逼的库,可以实现很多自定义的跳转功能。
App中很多页面都使用了同一个网络接口,这不是为了让代码更加简洁,仅仅是我偷懒 >.<
Clone the repo
$ git clone https://github.com/huanxsd/MeiTuan.git $ cd MeiTuan
Install dependencies (npm v3+)
$ npm install
Running on iOS
$ react-native run-ios
Could not connect to development server
打开新的terminal窗口,并执行:
$ react-native start
我之前一直在写Objective-C,但不久前看了ES6的语法和Flex布局方式后,我便马上爱上了这种开发方式。
这个Demo花了大概5天时间,是我的第一个ReactNative项目。
如果对这个Demo有任何的意见或建议,或者喜欢ReactNative的朋友,欢迎在下方留言。我会在第一时间回复 :)
如果你喜欢这个Demo,请给我一个star :)
我将持续更新这个Demo
到百度首页 django注册登录 百度一下 百度首页 登录 网页 资讯 视频 图片 知道 文库 贴吧 采购 地图 更多» 找到相关资讯2篇全部资讯按焦点排序 Django操作数据库实战——实现登录功能 坏坏侃电影 2019年03月21日 16:57 7.编写登录逻辑 8.完善前端提示信息 9.测试功能 a.账号、密码正确 b.账号正确…Django操作数据库实战——实现注册功能 03-2011:2
Android-UI-MeiTuan(仿美团筛选PopupWindow下拉弹出框)源码 资源下载此资源下载价格为1D币,请先登录 资源文件列表 MeiTuan(仿美团筛选PopupWindow下拉弹出框)/.gitignore , 81 MeiTuan(仿美团筛选PopupWindow下拉弹出框)/.idea/.name , 7 MeiTuan(仿美团筛选PopupWindow下拉弹出框)/.id
面试时间:08/23 面试形式:视频会议 面试岗位:移动软件开发 Base:北京 一面(90min) 自我介绍 你是做服务端开发,为什么想到客户端这边? 算法 手写两个排序,并且讲述其算法思想。我写了快排和归并。 两个算法是稳定算法吗?为什么快排不是稳定的算法? 时间和空间复杂度? 快排为什么会退化到O(n^2)。 计网 OSI7层网络模型展开讲讲? 介绍一下HTTP协议的优缺点? 了解HTTP协
面试时间:08/24 面试形式:视频会议 面试岗位:移动软件开发 Base:北京 二面(70min) 确认岗位、事业部、工作城市等信息; 自我介绍。 中途打断我说不想听后端的项目经验 为什么转码(40min) 为什么要转码? 为什么要学C++?C++互联网用的那么少。 你凭什么觉得自己比科班的强? 为什么不考研到计算机专业? 为什么要做这几个项目? 为什么要投客户端? 自学的学习过程?每天有多少的
给自己攒攒人品 #面经# 但面试官小姐姐超级nice 是我不争气😭😭许愿给我一次补救的机会😭 自我介绍 对于IM项目你是有参考什么框架吗,还是自己搭建的 仪器科学有哪些计算机的课程? 是你一个人做的吗 Windows下做的吗 有没有给用户安装进行测试? 自定义的协议包和协议表作用? 和发消息的包在同一个包里吗? 如何知道对方上线?发起对话之前的步骤? 多久建立一次链接?链接多久断 对方掉线了
1、handler中的post和send方法有什么区别 2、Android中的动画有哪几种,有什么区别 3、使用camera2有什么优势,相比调用系统相机 4、
问项目 算法:1. 多线程交替打印线程安全 2. 线程安全单例 智商:10升的水桶 放到 3 7L,得到5升的水。 线程安全单例差点没写出来,实在是回忆不起来了,只记得双if,面试官每行代码的作用都问了,比如两个if的作用。 智商题差点没做出来,第一次遇到。
(二面完没立刻记录,现在凭借记忆写的,应该不全) #软件开发笔面经# 平时怎么使用git的 git reset和git revert的区别 说一下异常分类 平时常见的异常 什么是线程安全 给了一段代码,让我判断是否安全,在什么情况下会出现问题,怎么修改。 从产品设计和技术角度设计一个支付 平时是怎么学习的 沟通能力和抗压能力怎么样 反问
#软件开发笔面经# 说一下java面向对象的特性 描述一下接口和抽象类,相同点和不同点 如果接口和抽象类使用了同样的方法签名,会发生什么。 在java中一个字符串的string是可变的吗 stringbuilder和stringbuffer的区别 线程不安全的原因 可见性是什么意思 两个线程不能及时同步的原因 缓存在计算机结构属于什么硬件类的缓存 如果计算机是单核cpu,会出现这种可见性问题吗(原
0927,美团二面,1h 1. 自我介绍 2. 深挖项目 1. SwiftUI 怎么样,和 UIKit 比如何,你是怎么学的 Swift,有没有做方案的选型 2. 动画如何实现(自己瞎掰头,他说差不多是这个意思) 3. 序列化怎么做的 4. 网络库用的什么 5. iOS 这边 MVVM,APNs 怎么做的 3. 有没有了解过一些其他的移动端框架,Flutter 画点粒度做 UI 4. 实验室项目