项目技术选型
后端:貌似是springboot框架
数据库:mysql
mobile前端:react + weui
pc前端:react + ant-design(V1.x.x)
产品定位
服务于教育行业百万人的一款具有后台cms管理系统,基于微信开发的h5 app。
我的工作
负责Mobile前端的开发。
技术经验
一、要考虑安卓和IOS平台,比如IOS系统页面滑动会卡顿的问题:
1 | //具体细节可以google,baidu |
二、图片显示拉伸和压缩问题:
1 | 现在采用的办法: |
三、比如图标问题:
1 | 现在我处理的图标都是加载图片,一方面页面加载速度变慢,一方面设计给的图片没有压缩,有时候页面加载完了,图标都没有加载过来。所以很坑。 |
四、比如tab之间进行切换,进入一个新页面之后返回的时候要返回到当前tab状态
1 | 由于第一层页面采用 |
五、比如页面无数据的情况,请求数据返回各种乱七八糟的请求的时候:
1 | 项目上线测试的时候,服务器突然返回了没有容错过的代码,导致整个页面无法加载。所有枪口指向前端。前端认真查过之后,发现是后端返回了之前从来没有返回 |
六、比如其它
1 | 字数太多怎么处理,列表太多进行滑动怎么处理,背景模糊遮罩处理怎么处理。 |
工作经验
1、后端可能不会和你沟通,直接写接口。写完接口直接将所有数据,裸奔给你。
2、后端可能不会帮你处理记录状态,当然换页面的时候返回给你。这时候需要自己在本地记录状态,进入新页面的时候取出状态和数据。
3、后端可能会只给你一堆数据,然后让前端来处理各种数据。比如一次性把所有列表数据,然后让我做了一个每次下拉加载15条的效果。这个处理需要使用js深复制,将数据拷贝俩份,一份存储所有的数据,一份存储已经加载的数据。而且由于每次切换tab要从后端拉取新数据,每次拉取的时候都需要清空那俩份数据。
4、设计师可能只会关注外在的美观,不会考虑按键是否合理。可能只会设计一些大体上的页面,不会帮你设计没有数据,没有网络等其它情况的页面。还可能只标注一些他认为的关键标注。设计师可能只会考虑iPhone6的屏幕,不会考虑小屏或者超大屏手机的页面。这些事情,都得你来处理,你开发之前就想到。
5、当然测试会帮你处理这些问题,会帮你测试各种极端情况, 即使那种极端情况,有时候不会发生。测试也不会理会设计是否合理,不会理会后端接口是否合理。只会把大部分问题扔给前端。所以你需要做好独自处理这些问题。包容各种不合理的要求。
后记
目前本产品是第一个版本,已经正式上线。不知道第二个版本会什么时候开始。第二版应该会优化很多问题。希望在开始第二个版本之前,自己能够掌握需要优化的技术栈:比如svg、比如各种css牛逼的特效、比如利用自己的组件,或者redux来记录各种状态等。