首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

腾讯开发微信花了多少钱?真的技术难度这么大吗?难点在哪里?

文章有点长,但是看完肯定有巨大收获,特别是针对想从事互联网行业想开发一个自己APP的人,这是我从自己多年外包和自己开发产品累计研发成本过千万的情况下得出的经验。 先说结论 腾讯开发微信花的成本应该超过10个亿,真的技术难度很大,如果交给一个全栈工程师去做,可能要做1万年。下面详细的讲解和分析为什么成本这么高,都高在哪里。 本人之前就是做APP软件外包行业的,前后外包的APP开发上线过上百款,涉及领域从电商,教育,金融,物联网,医疗都有。去年开始转型,开始真正的开发了一款属于自己公司的互联网产品,期间真正的体

01

弱网模拟工具Network Emulator Toolkit(一)

弱网测试的现象及原因 1、 现象:用户登录应用时下载初始化数据,下载过程中因网速太慢点击取消并重新登录,数据初始化完成后出现重复,造成数据不一致。 原因:数据下载过程中、下载失败后,未进行数据回滚,中止后重新下载,出现数据重复 解决方案:通过事务处理数据下载逻辑,下载失败后,应用本地数据库进行数据回滚。 2、 现象:用户点击数据上传,数据上传过程中网络弱且不稳定,基于联网状态自动触发数据上传,导致出现数据重复写入,形成脏数据 原因:数据上传过程中,由于失败重传机制,会出现连续两次写操作,并且未做唯一识别处理 解决方案:根据数据特性,对可能造成脏数据的地方,通过关键字段,例如创建时间,key-value值等生成hash键,标记记录唯一性,即数据写入时,检查hash键是否存在,如果已经存在,当前重复数据丢弃。 3、 现象:在弱网环境下,用户输入用户名和密码点击登录,应用链接超时返回用户名和密码错误提示。 原因:在弱网环境下的连接超时后,按照强网业务逻辑处理,导致返回超时异常。 解决方案:弱网连接超时后,检查应用本地数据库是否有用户登录信息,若存在,获取应用本地用户信息进行登录。 4、 现象:在弱网环境下,用户输入用户名和密码后点击登录,登录过程中应用崩溃并且闪退。 原因:弱网环境下数据下载超时,加载数据严重依赖于后来的异步加载。数据还没来得及返回,应用跳转到下个activity,导致崩溃。 解决方案:健壮数据加载流程,通过标记后台数据下载状态加载界面,依赖数据下载完成后,再进行页面跳转。 5、 现象:弱网络环境下,用户请求页面响应时间较长,等待的过程中,页面上的部分控件仍然可以操作,当用户点击控件时,出现应用闪退现象; 原因:没有对数据加载流程进行判断,直接暴露控件可控,当出现依赖数据的控件操作时,没有在数据返回前做兼容处理。 解决方案:在数据加载过程中,设置页面对外暴露的控件为“不可操作”,当数据加载完再释放。 6、 现象:在弱网环境下,用户第一次输入搜索关键字没有得到响应后,再次输入全新关键字并发送请求,等待搜索结果返回后,当前结果页被之前的关键字搜索结果刷新覆盖 原因:中间的请求返回较慢,显示最终的结果后,之前请求返回的数据应不做处理。 解决方案:对异步请求未完成的任务进行cancel.

06

游戏版本更新小记

先大概介绍一下项目,卡牌游戏,主要面向女性用户。前期是走IOS市场,后来又移值到Android平台上,在几家大一点的Android渠道上进行运营。Android接入了十几家渠道,比如:91安卓、奇虎360、小米、百度手机助手、安智、联通沃商店、移动MM、电信EGame、联想、酷派、oppo、HTC(聚乐)、魅族(37Wan)、当乐等(后面还有比如豌豆荚、应用宝),IOS也接入了几家:同步推、PP、快用、91、当乐、ITools等。 项目前台使用的Cocos2d-x(V2.2.3) + 公司自己实现的一套MVC 然后绑的Lua,后台使用的是Java。当天更新采取的策略是IOS、Android一起停服更新,这样带来的好处就是前、后端不用维护多个版本,风险同样也大,这么多渠道,首先要提交至少三~四天出包,然后自己内部先测试(登录、注册、充值、重启、断线重连,这个不算游戏内的新增/修改的功能),然后提交包至各渠道进行审核(有被打回的风险)。然后就是各平台上线的时间无法统一,有的平台是手工操作,点一下立马生效,有的需要等待一段时间,有的都不确定多长时间才会生效(像苹果一样,iClound云里下载的可能还是旧的,虽然作为开发者你已经在后台操作放开了),如果每一家渠道对应一组服务器也就罢了,但实际上每一家在不打广告和推广的情况下是不大可能开一组服务器的,这样就会出现几个渠道混服的情况。就会导致有些平台已经审核并通过了,跟它分在同一组服务器的渠道有可能审核被打回了,不让上架,那么作为该平台的玩家就可能比较郁闷了,都不知道何时才能再进游戏,玩家流失的可能性大大提高了。 说了现状,再重点记录一下遇到的一些问题。因为渠道很多,SDK都不一样,很多SDK不提供SDK内强制更新机制,就导致玩家不知道从哪下载最新的包。有的SDK又不允许游戏内置强制更新机制,以免游戏被导入到其它平台造成利益分成的损失。各家SDK的水平真是参差不齐,导致我们更新后,遇多很多玩家不知道如何更新游戏,一登录游戏又会提醒说版本过低,请下载最新的版本。然后很多玩家都不知道自己到底是是在哪个渠道玩,因为所有的Android玩家都在几个大群里,并没有按渠道分群。他只知道他在哪组服里,而他到底是属于哪家平台的无从得知(光看界面看不出来,因为有几家他们的SDK不提供登录系统,只需要接入他们的支付),只要要求玩家提供在游戏内的角色名, 然后再查出他从哪家平台登录的,说起来真是满脸都是累... 还有就是更新的版本,如果替换了SDK则会有潜在的风险,比如最严重的就是影响到帐号系统,这样导致玩家无法玩以前的号了。更新之后我遇到的一个玩家反映无法登录,说QQ号无法登录。我说我们游戏目前没有QQ号登录这一说法啊,不太明白,然后他反映说是安智的平台,截图给我看,就是在安智的SDK登录界面,下面有新浪微博、QQ的授权登录,不曾想安智最近不知改了什么策略,导致qq授权成功后显示的页面为空白,而无法继续游戏了。之前的版本玩家说好的,一更新就出了这个总是,然后我们仔细查了一下,跟安智那边的技术反复沟通,最终安智说同意我们可以不按他们要求的SDK版本号打包。因为如果按照他们强制要求的Android SDK 15打出来的包,在Android 4.4.3下无法显示授权成功的回调页。

01

印象最深的一个bug——排查修复问题事件BEX引发的谷歌浏览器闪退崩溃异常

前言 最近,我们部门负责项目运维的小王频频接到甲方的反馈,运行的项目使用谷歌浏览器登录后,每次点击处理2秒后,浏览器自动闪退崩溃.小王同学折腾了一个星期,还没找到问题的原因.甲方客户都把问题反馈给项目经理了.项目经理给小王撂下狠话,“明天客户再给我打电话,你以后再也没机会穿拖鞋上班了..” 小王扰了扰头上剩在中间的头发,一脸委屈的看向我,无奈中透着一点深情 “Chova大哥哥,你来帮我看看嘛~以后晚上陪你一起健身!” 看着他期待的目光,我心目不免一紧,哆哆嗦嗦地打开了他电脑上的谷歌浏览器... 问题一:问题

06
领券