移动APP、webview调试最佳实践(一)

忽略掉细节,一个webAPP访问服务器的大概流程就是这个样子:


当手机打开一个网页的时候,应用会向服务器发起一个请求。然后服务器处理完这个请求,相应的,也会将结果返回给浏览器。

 

这个流程虽然简洁明了,但是对于开发者来说,却还是太复杂了。

比如我现在修复一个紧急的BUG,我需要立马推送服务器,那么我应该做好以下这个步骤:

1、  手机APP更新地址为局域网的机子

2、  本地服务器测试BUG

3、  将本地修复好的代码推上服务器

4、  再重新将手机APP的地址更新为服务器的地址

5、  验证BUG是否解决了没有

 

在这里步骤中,我们可以将线上请求转化为线下请求。


解决的痛点:

1、  APP无需重新更新

2、  本地直接可以测试,等测试代码通常再推送到服务器

 

要实现这样的功能,我们需要把服务器地址重定向为我们本机的地址:

只要将手机连接上WIFI,然后设置其代理的IP地址即可。

 

有同学问,修改hosts不是也可以吗?

在本机解析一个DNS的流程通常是缓存DNS,hosts中的,然后才是DNS服务器的。

但是这个hosts只针对电脑本身有用,而对于手机连接上WIFI是没有用的。

当然,如果是修改手机的hosts也是可以用的。

 

本方法不仅适用于webAPP开发,对于原生的的APP,也是支持的。

 

不过如果这样子虽然将服务器地址重定位到我们本地的服务器,但是如果我们本地服务器有多个项目的话,这个时候便可以使用apache的虚拟目录了。 
Listen 8888
 
NameVirtualHost *:8888
 
<VirtualHost *:8888>
    ServerAdmin webmaster@test.com
    DocumentRoot E:/www/xxx/
    ServerName 127.0.0.1
</VirtualHost>

上面这行代码,复制到httpd.conf最下面,然后重启下apache。那么apache就会再监视8888这个端口。

这个时候,设置代理服务器的地址为我们本地服务器的地址,端口为8888,这样子就可以进行线下调试了,并且还不会干扰到我们本地服务器其他项目的运行了。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值