千呼万唤使出来, V2EX 非官方小程序发布啦!

2019-04-17 20:02:18 +08:00
 jokyme

经过一周左右时间的开发,V2EX For You 小程序终于开发完成,并在今天正式上线啦!!!

作为我开发的第一款小程序,我对它还是比较满意的。至少跟现有的其它 V2EX 小程序比起来,V2EX For You 不管是从界面风格还是从功能上来说都有很多可圈可点的地方。

由于是 1.0 版本,所以从一开始就没有打算做的太复杂。在功能上,优先考虑用户浏览的便利性。界面设计上,使用灰色和黑色作为主色调,与 web 版保持一致。排版布局参照了 v2ex-swift 版

一、实现方式

有两种方式可以实现。

第一种直接调用 V2EX 现有的 API,请求速度快,但是现有的接口并不完整,只提供了最基本的查看功能。

所以我们选择了第二种,模拟请求 V2EX 手机站点,并使用 cheerio 分析网页元素转换为 json,最后在小程序上渲染。数据是都有了,但是牺牲了速度。从请求到分析到 setData 再到页面呈现,整体的速度比直接请求接口慢了 3 倍多。所以下一个版本打算将 API 和模拟请求进行结合。先请求接口进行页面呈现,然后再分析页面元素,将接口里面缺少的部分提取出来,两者进行组合,减少用户的等待时间。

二、主要技术和工具

cheerio.js

request.js

towxml

搜索接口由 soV2EX 提供

三、待实现的功能

下一版将着重用户体验优化,减少页面加载时间,提升界面的交互体验。此外,还会增加签到、发帖、点赞、收藏等功能。

四、已知的问题

目前已知部分安卓用户在使用是会请求不到数据的情况 iPhoneX 查看详情页时,底部的回复框没有做适配

五、开源

这一版是直接使用原生组件开发的,很多功能都没来得及封装,重复代码较多,就不放出来献丑了。

接下来我会使用 Taro 将它重构一遍,最晚在 5 月底开源。

六、小程序截图

8045 次点击
所在节点    分享创造
75 条回复
gneplove
2019-04-18 09:57:24 +08:00
最后一个页面的全屏是怎么做的啊,貌似小程序只能配置所有页面全屏,不能单独配置某一个页面全屏呀?
slogon
2019-04-18 10:49:00 +08:00
咋看不到小程序码了?
dabaibai
2019-04-18 11:35:42 +08:00
不喜欢微信小程序 略了.
微信做了不该做的事情
w4mxl
2019-04-18 16:53:22 +08:00
做的不错哦,支持一下。😄
一些小细节给您反馈一下:
- 话题详情页的骨架感觉有点乱呢;
- 搜索 Tab 的 logo 和小程序的 logo 保持一致统一感好点;
- 节点 Tab 我第一次时没加载出来;
- 我的 Tab 如果没登录[登出]按钮感觉还是隐藏了好点
w4mxl
2019-04-18 16:56:27 +08:00
@azhi @mornlight 顺带感谢二位,sov2ex 和 V2EX plus 很好,都有在用 😎
jokyme
2019-04-18 19:18:55 +08:00
@gneplove 每个页面都可以用一个单独的 json 文件进行配置的
jokyme
2019-04-18 19:19:17 +08:00
@slogon 小程序码在最后一张图片
jokyme
2019-04-18 19:27:25 +08:00
@w4mxl 提的几点建议都不错,
下一版的骨架屏打算用工具生成。
个人中心的页面在下个版本会加入很多功能,所以,也会改的。
观察的很仔细,tab 的 logo 是随手在 iconfont 找的,Logo 是另外画的,可以考虑改成一致。
节点加载不出来的问题好像蛮多人反馈的,已经改完了,明天发布。
sangmong
2019-04-18 20:38:49 +08:00
iPad 上首页导航栏显示不出来
goodjojo
2019-04-18 21:22:29 +08:00
支持一波!
alan0liang
2019-04-18 21:28:22 +08:00
支持下
顺便说一句 千呼万唤“始”出来 (我刚背 马上要期中考试了
SingeeKing
2019-04-18 21:42:43 +08:00
不知道确切但按照我之前的经验猜测一下 bug 产生的原因
1. HTTPS 证书链有问题或协议版本(支持得太低和太高都不行)
2. 可以添加一个底部 margin/padding 值先设置为 0 再设置为 env(safe-area-inset-top)、constant(safe-area-inset-top),也就是需要写三行来保证适配
hljjhb
2019-04-19 00:29:39 +08:00
体验意外地好
jokyme
2019-04-19 01:09:23 +08:00
@sangmong iPad 在模拟请求时会访问 PC 网站,现在只对手机端的做了适配。平板的适配已经提上日程,但是放在相对靠后的位置。排版布局在 iPad 上也要重新设计,否则体验很差。
jokyme
2019-04-19 01:12:15 +08:00
@SingeeKing 小程序不支持 env(safe-area-inset-top)、constant(safe-area-inset-top) 这两个属性。昨天改了一个版本,检测用户设备是否是 iPhoneX,然后设置 bottom
jokyme
2019-04-19 01:12:48 +08:00
@hljjhb
@goodjojo
感谢支持 :)
huixun
2019-04-19 01:12:55 +08:00
为什么要非官方,直接对接成官方不好么
jokyme
2019-04-19 01:16:19 +08:00
@huixun 哈哈哈,能对接成官方小程序当然最好了。
(但是找不到人对接...)
w4mxl
2019-04-19 07:27:27 +08:00
@jokyme #48 你说的生成工具能说一下是哪个吗?
sometimehappy
2019-04-19 10:13:15 +08:00
这...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/556167

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX