徐擎阳:我是开发者

企业动态
看过之前HDG报道的观众,肯定对徐擎阳这个名字不陌生。作为华为HDG的最忠诚粉丝,他跟随着HDG走遍了9个城市,期期不落。在最后一站华为也盛情邀请他作为第一位发言嘉宾,这也是华为对开发者最大的尊重。

 2016年12月24日,正值万众狂欢的平安夜,在浓厚的节日气氛里,华为HDG线下沙龙深圳站在3W咖啡馆热热闹闹地“开讲”了。可能应了“贵人出门风雨多”这句古话,当天一早天空就飘起了小雨,在这样湿润微凉的天气里,一百多位开发者如期而至,与7位演讲嘉宾交流互动,为2016华为HDG最后一站画上了一个圆满的句号。

 

[[180379]]

 

看过之前HDG报道的观众,肯定对徐擎阳这个名字不陌生。作为华为HDG的最忠诚粉丝,他跟随着HDG走遍了9个城市,期期不落。在最后一站华为也盛情邀请他作为第一位发言嘉宾,这也是华为对开发者最大的尊重。

以下是徐擎阳的现场演讲实录:

大家好,我叫徐擎阳。刚才主持人介绍过了,我是属于个人开发者。首先说明一下,我不是华为的员工,我也没有在华为工作过。我先大概自我介绍一下,我的职业经历也不算太特殊,但是有一个特点,我最早是在做甲方的,但是因为自己喜欢做一些开发的工作,比如说做一些ERP的小插件,做一些HR的报表这些东西,慢慢的开始做一些传统乙方才会做的事情,做一些工具的开发。我就觉得自己不再适合在甲方的气氛里面做,就自己跳槽做乙方,做运营。然后慢慢开始觉得自己有点想法之后,就开始做产品。

所以我目前的职业是产品经理,是这样的一个产品经理,比较那什么的。我个人业余工作,我以前做过一些美剧字幕组社区的工作,目前主要参与关注两个社区,一种是流浪猫救助的社区,大家不知道有没有接触过,做一些流浪猫的救助和领养工作,第二个就是华为的开发者社区,开发者社区刚才主持人提过了全勤,我从上海站一直到今天为止,我每一站都来了,每一站收获也都很大,希望大家这次回去以后也会跟我有同样的感觉。第二个就是我在8月份的开发者大赛上,比较有幸获得了一个三等奖,后面我会跟大家扒一下我到底在开发者大赛上做了什么东西。

我自己的理解有两个身份,一个是程序员,一个是开发者。其实我不是一个好的程序员,因为我不是那种非常专业的,一天要写很多很多代码,写好多程序的那样一个程序员。我是属于比较程序员里面比较懒的那一种,什么叫比较懒,能有现成的东西绝对不自己开发,需要自己开发的东西怎么简单怎么来,只要能实现我要的功能就可以了。但是我觉得我是一个相对来说比较好的开发者,因为我开发的所有东西都是能用为目的,是以做产品的心态,只要是我开发的东西,就必须是一个能用的,对使用者负责的态度,在做这样一件事情。所以我可能并不是一个好的程序员,因为我不太擅长这种非常细致的、非常专业的、非常深入去研究技术的一些工作,但是我的态度,我认为我做这个东西就要做好,我自己不掌握没关系,我会去找我能够找得到的最好的技术,去填充到这个产品里面,由我亲自把它们组装起来,放到我的使用者面前。

我从哪里来,就是想跟大家说一下我们那个开发者社区的过程。大家知道我也是从今年才开始接触华为开发者社区的,今年以前跟华为的一些接触,实际的接触可能就两个方面,一个就是公司项目上的合作,另一个就是公司的项目被华为别的部门抢掉了,就是这样一种关系。我第一次在上海这边知道华为开发者社区也是从一个活动的网站上知道的,当时就觉得比较好奇,华为不是一直是供设备、卖手机、做解决方案的,什么时候又来搞开发者社区了,又要搞什么事情,我就很好奇,上海站我就来了。到现在已经9场了,一个月一场,所以感慨一下,时间是过隙之白驹,一下子一年就没有了。

在4月份的时候,我已经听说第一场活动华为在搞开发者大赛这个事情,但是当时我并没有说准备马上存在,因为当时并不觉得自己能够做出一个非常出众的东西,能够参赛。但是后来发现开发者大赛不是我理解的那样,这个开发者大赛是可以站在巨人的肩膀上参加的。什么叫做站在巨人肩膀上参加呢?华为在开发者大赛中注入了很多可以开放的能力,我们不需要自己把所有的,像我前面说的不需要把一个产品所有的东西从无到有开发出来,而是可以挑选出来我们认为用得到的,并且是能够用得更好的能力。在这个能力基础上,才去做我们的产品。这个事情就很适合我来做,我就适合做这种事情,别人都是拿过来自己用的这种开发者。我当时把我以前的一个项目,做到一半,做烂掉的,做不下去的一个项目拿出来,用华为其中的一些能力去补,就完成一个产品了。

所以我是5月份、6月份中间参加了开发者大赛,一直到大会,把这个作品放上来。中间经历了上海、南京、杭州、西安和苏州这几站,我一方面是因为想了解开发者大赛的动态,一方面是想详细了解华为到底在整个开发者生态里面放了哪些东西进去。因为第一站上海和第二站南京并没有把所有的开发者生态的东西都介绍全,我就觉得杭州、西安我应该去一下。西安其实更多的是去玩,因为我没有去过兵马俑,所以借着参加社区的借口,自己出去玩了一波。当场还被工作人员捉到,说我在西安找不到位置,我就觉得很差异,明明是跟人家聊聊天。后面全年级大会以后,就是成都、武汉、北京和深圳这几站,这其实是第一场我上来讲,之前游上来分享过,但是没有这么正式的讲过。所以今天也比较高兴,跟大家来分享一下我在社区跟开发者大赛做了一些什么事情。

这是我给大家先扒一下开发者大赛,刚刚主持人也提到我们有20个入围的作品,和一些得奖的作品,这是我从其中挑出来一些我个人认为比较有趣的东西。右边这三个并不是获奖作品,但是也是我认为比较有趣的东西,所以我把它跳出来了。大家可以看到每一个作品下面都有一个中文和英文字,比如说ROT、ESIT(08:12)、SDN,这些其实就是华为放到开发者社区里来的那些能力。比如说ROT和ESIT,特别是ESIT这个东西,可能以前一定要买华为的网络软件,才能拿到ESIT的能力,但是现在ESIT的能力是作为一个开放式的能力,被开放出来了。我们需要使用这个能力的开发者,你并不一定要是华为内部的人,或者从华为内部拿到一些什么资料才可以用,你是直接在它的产品上就能找到,现在华为的ESIT产品有开放接口,直接可以用了。包括我自己。

这个黄色的是我自己做的作品,包括我自己的作品用的是华为的通讯能力。大家知道华为最早起家就是做通讯起家的,做电话,做网络通讯起家的,核心产品最早就是网络设备。这个CaaS就是华为产品的名称,叫Communications-as-a-Service。我需要获取这个通讯能力的时候,不再一定要去买设备,拉线路,才能获得这个通讯的能力。我只需要在互联网上申请一个接口,申请一个账号,做一个产品的认证,我就可以直接从互联网去获取这个能力。顶多就是花点流量费用,我连基建的钱一分都不用出,我连电话费都不用出,前期的时候,我就可以获得通讯能力。

其他的包括ROT,ROT也是很火的一个概念,前段时间在北京华为也专门搞了一个ROT的专场,那个专场我没有去,但是我一直在关注ROT这个东西。华为现在有自己的一套ROT操作系统,就是放在嵌入式板子里面的操作系统,我自己也在学习这套东西。在这一系列的基础上应该是可以开发出一些基于ROT,和基于通讯能力的比较好的产品。不知道在场有没有做通讯或者ROT这一块的,可以关注一下。

其他的包括SDN,包括企业通讯,包括LTE的接入技术,这些东西我们如果跟华为有打过交道的一些公司或者个人,应该经常会听到这些名词。在什么时候你们会听到呢,可能在华为的一些技术方案,或者是在客户那边拿到的一份技术方案说,这个就是华为写的,看里面有什么什么,里面就会冒出来这些东西。这些东西以前都是封在华为设备里面的,SDN、ESIT、LET,这些东西以前都是封在华为的交换机,封在华为的基站,封在华为的网关软件里面的,我们外部是接触不到的。但是现在不一样了,现在开发者是直接可以看到这方面的资料,拿到这方面的调试接口,并且尝试在上面开发我自己的产品。

跟大家介绍一下这些作品,简单介绍一下。第一个就是智慧水表,什么意思呢,我们现在家里的水表要抄表,要么就是人来,比较高级一点的可能是连接互联网的,接到我们自己家里WIFI的,我不知道有没有,可以远程让人抄表,或者上门来抄表。但是智慧水表这个东西是用了一个ROT的模块,我们不需要互联网,也不需要人进来,直接可以通过物联网的传感技术,直接拿到水表上的数据,就可以实时的看到水表的情况,也不需要入户去抄,效果和准确率都很高。其实我现在也在做一个ROT自己的产品,也是从这里面得到了一些灵感,我做自己一些用来玩的东西,形式上跟它差不多,但是完全是比较不正经的,用来玩的东西。如果大家会去关注1月份的ROT的开发者大赛,也许有机会能看到我的作品。

敏捷网络这个东西其实是把一些网关,华为传统网关软件上的能力抽出来,做了自己开发了一套用来描述这个网络的可用性,用来做实时调度的一个能力,也就是用自己的逻辑,用自己对网络的敏捷理解的能力,加上华为监控和控制能力,来实现这个敏捷网络调度。

智慧油田这个东西是工业生产上的我也不太懂,可能就是用来做油田的油井的,非常大范围的,可能几十几百上千平方公里设施的监控。

天籁K歌是利用了一个CaaS的网络通讯能力,可以确保我们在不同地方的好多人同时去唱歌,大家听到的声音都是同步的。

SDN这个就不多说了,大家都很熟悉了,业务感知是爱奇艺通过华为云调度的一个系统,实现的一个互联网用户压力的调度。

智能门管家是一个ROT物联网设备化,它是一个可以用手机和指纹,以及人脸来联动的个人家庭的门管家。

停好是我自己做的一个挪车通知的一个东西,待会我给大家具体介绍一下。

健康咨询和远程会诊,都是医疗领域的,一个是解决挂号和医师交流的问题。远程通讯是把我们以前开会扯皮的事情搬到另外一个场景里面去,搬到病例分析、实时手术指导的场景里面去。

右上角这三个产品是我个人比较感兴趣的,一个是穿戴设备,它是一个眼镜,它带了一个小小的T字屏,带了一个摄像头。也就是说眼镜的主讲人他看到的东西,看到的视角,可以直接被后面的观看人看到,观看人需要去辅助这个主讲人的时候,可以直接把所需要的资料投到这个眼镜上,这个主讲人可以继续做自己的事情,我自己继续做一些现场检查,或者做一些什么事情,我同时可以释放双手的情况下可以看到后面给到的资料。

农业无人机,刚才主持人提到开发者大赛入围作品只有两个个人开发者,这个农业无人机就是另一个个人的开发者,好像叫刘旭吧,我不太记得了,是一个学生开发的无人机,比较好玩。它不是传统的航拍,用来录像的无人机,是在无人机的上面绑了好多的传感器,水的传感器,空气的传感器,温度的传感器,污染的传感器。把传感器接入了一个相当于物联网的小的操作系统的板子,农业无人机规划好这种巡逻的路径以后,飞到农田上面,实时的就把农田当前的各种水文啊,大气啊,土壤状况,就传回来了。如果要检测土壤的实际情况,上面有一个小的可以戳上去的东西,我落下来,让它接触土壤,我就能知道这个土壤当前的水分是怎么样的,我再飞走,到下一块地,这个东西非常好玩。

外国人翻译这个东西,名字好玩,它实际的功能也蛮好玩的。你在路上遇到外国人,或者你在工作中遇到外国人,你不可能不跟他打交道,但是你英文又不是很好。怎么办呢,这个软件提供了一个功能,我可以用中文对着手机讲话,手机里面会有一个翻译引擎,这个都是开发者自己提供的,把我说的中文录入成中文的文字,华为就提供了一个比较有趣的能力,你这个文字如果是中文或者是英文的话,我可以帮你这个文字,比如我说的是中文,被手机转译成文字了,再被翻译引擎的,比如土一点的,百度翻译、谷歌翻译,翻译成英文了。这个时候我把这串英文发给华为的通讯接口以后,它帮把我这些英文转换成英文的文字,再送到老外的耳朵里面。整个过程就变成类似于伪的同声传译,我说中文,你那边马上就能听到英文,这样一个场景。所以我觉得这个东西也是比较好玩的。

后面我干大家具体介绍一下我自己在开发者大赛里面做的作品。是这样一个东西,像这种卡片大家平时都有见过,放在车上的,把自己电话号码写在上面,我就走开,别人有事可以找我。但是有一个问题,我遇到过好几次,放了没多久,最过分的一次是放上去以后,10分钟有人打电话过来,一般都是保险中介啊,二手车啊,某些不可描述的服务,会打电话过来问先生需要服务吗。我就是在小区里面停了10分钟不到,我在吃饭,就有一个女生,也不是打电话给我,她是加我微信,但是是用电话号码加我的微信,跟我那些不可描述的服务。我就觉得这个东西很坑,以后不能这么用,否则要犯错误的。

我当时就想我要做一个这样的东西,我不放电话号码,我放一个二维码,二维码上面也没有我的电话号码,可能只是一个链接,导向到某一个工具里面,在导向到的工具里面,别人可以通过这个工具找到我,当时想的是这样的。出发点就是隐私、保密和铃珑方便,因为这个场景是非常急的场景,别人要找你不可能站那里等你,我装了一个软件再来找你,这是不现实的,这个会被打的,肯定是一个非常快的扫一下,肯定按两下屏幕就马上能找到我的一个东西。所以当时想做这样一个东西。

我想做这个东西的时候还没有接触华为的开发者社区,应该还是在去年的时候想做这个东西。后来遇到一些障碍,核心问题我解决不了这个现场可编程的通讯方法。因为在别人找我之前,我不知道谁要找我,所以我不知道应该把谁的电话号码跟我关联起来。我当时试了很多方法,最早我用的是IPPBX,因为我有朋友是专门做这个的,我把所有的logo都抹掉了,因为这个对别人不太礼貌。IPPBX不行,因为它的功能实在是有限,它没办法让我做到我让谁和谁通讯就能谁和谁通讯,IPPBX只能说谁要和你通讯,你告诉他一个分机号。如果我这个场景如果有好多车主都需要用这个卡片的话,不可能为每个车主都分配一个分机号,不现实。所以当时这个方法比我枪毙掉了。

后来我又尝试到我以前在甲方用到的UCS的解决方案,后来发现那个用是能用,但是对技术的要求太高,要我懂sift协议,又要我去买它的软件,我还要自己弄台服务器,后面还拖一堆的电话线,不行,我干不了,太烦了,我好懒的,UCS又被我枪毙掉。

后来别人跟我说,你觉得它的软件柜可以做开源的,开源有SIP协议。我当时想的很简单,是不是开源的东西拿来就能用,后来发现也不行,开源的技术的确都到位了,我要的功能也都能实现。但是它没有做到场景化,只是把技术放出来了,没有能够直接实现我场景的东西。如果我要实现我的场景,就变成我也要做更多上层的开发,甚至我要扒它C的源代码,改它的C的源代码,改它的信令控制,改它电话版的驱动。这个不行,我干不了,这个东西只有非常专业的团队才能干,非常专业的团队不会做具体的场景。这个我觉得应该是很多地方都会遇到这个问题,对这个核心技术掌握非常专业的团队,他不会非常具体的做一个一个的应用场景。但是我们做应用场景的开发,很多时候又是缺一些核心的技术支撑这个场景,所以我当时就是遇到了这个问题。

这个项目就停掉了,去年把所有的文字通讯的部分做完之后,语音通讯的东西我全部停掉,因为做不下去了。但是后来我在华为HDG这边了解到他们有一个CaaS的能力,我当时就发现我的病有救了。这个东西正好能够套上我当时的那个想法,我需要一个现场的可控制的通讯方法,需要能够实现这样的场景。CaaS又更好能够让我有一个,它本身就是一个场景化的能力开放,它包装出来放在我面前的时候已经是这样一个场景了。一方发起,两方通话,或者是一方发文字,另一方收语音。已经全部包装好这样的场景,甚至连API都已经包装好了,我不用做过程的控制,我只要发一个POS调用过去,把谁要和谁通讯,短信或者语音,文字转语音的内容是什么,我通过互联网的结果发过去,它就直接帮助我拉通了。这个非常好,场景化,基于互联网要素,我什么都不用买,服务器也不用买,我连语音空间都不用。当然我自己的应用要放到我的空间上,但是我线路也不用拉,全部的东西在开发测试过程中都是免费的,运行过程中是按时计费的,一个电话几分钱只收你几分钱,并且还有团队的技术支持。

这一点对于开发者来说是很重要的,师傅领进门,这个师傅在哪里,一开始除了文档是师傅以外,技术支持团队就是师傅。当然后面来的开发者,我们社区里其他的开发者也可以作为师傅,领你进门,这个我觉得都是一个非常好的。我觉得什么是生态,这个就是生态,就是我进来之后,我能马上找到我的土壤,我能马上野蛮生长起来,就是因为有这些东西,我不需要考虑那么多东西。要水有水,要养分有养分,要阳光有阳光,我只要开开我的脑洞,自己找就可以了。

最后我的产品做成这个样子,分三块,前面一个功能界面的呈现,中间业务的API,和后面的能力调用。功能界面的呈现用我们开发的话来说就是一个前端,就是一个H5的页面,一个HTML的页面,可能里面都没有用到H5的东西。一个微信的框架,加一个HTML的页面,加一堆的JS的调用,就是我前端的功能了。这个JS调用发回来的就是一些用户的请求,比如这个用户要找这个车主,到了我后端,业务逻辑这一块我是用PHP写的一个中间件,负责这个业务逻辑,负责认证,负责即时消息的传递,负责通讯,谁和谁通讯的一个逻辑关系的查找,和一些微信相关的接口。通过mySQL数据库做一个持有化信息的保持。

用PHP写的后端接口,业务逻辑全都包起来。业务逻辑包起来是两个概念,一个是用前端界面来说我后端的业务逻辑都是包起来的,我前面的全是静态页面,全是HTML页面。点击某一个按纽的时候,再来调我后面的一个业务接口。另外一个业务逻辑包起来,后端包起来的业务逻辑是不关心通讯过程的,所谓的业务逻辑包起来以后,我只关心我自己业务的处理。只关心这两个车主的电话要不要接通,可不可以允许接通,权限对不对。这个车牌号代表是哪个车主,要把号码反查出来,这些业务逻辑。但是包起来之后我是完全不关心通讯过程的,通讯过程谁实现呢,就是由CaaS能力实现的,它会给我一系列的接口。你要给谁发短信,你要让哪两个人的电话打通,你要把这一条语音留言发到谁的电话上让他听到,你要终止哪一个通话,你要查哪一个通话的历史状态。它给我包了这一系列的场景,相当于我的代码只要写到这个黄线这里,黄线后面没有任何代码的开发量,都只要把接口挂到我的业务逻辑里面去就可以了,这样的开发就非常快。

因为前面的界面和业务逻辑是我擅长的,是我愿意专注的地方,而且是我擅长专注的地方,我可以把所有的精力都放在这两块,做出一个用户体验场景相对比较好的东西。但是后面这一块不是我擅长的,我根本不懂sift协议,我根据不懂电信同化的限令啊。即使我不懂,我也可以在我的产品里面把这些东西放进去,就是因为这个东西已经包装好放在那里了。我只要看得懂那种URL的接口,我只要看得懂接口文档,就能够用这个能力。所以这个里面我整个的代码比例,微信相关的大概30%,因为框架是微信的,它是一个公众服务号。然后业务相关的占到了50%,甚至更多。通讯相关的只有接口调试的代码,15%。所以你看到如果这一套东西没有这样的开放能力给我用的话,有可能通讯相关的代码会占到百分之六七十以上,这个东西就不是我们做的东西了。相当于有这个东西之后,把我整个产品技术门槛降低了,把技术的门槛和成本都降低了。

我接下来要干吗呢,后面会有一个IoT LiteOS的开发者大赛,我也打算参加一下。我最近在学习物联网的开发版,华为现在有一个LiteOS开源的操作系统,实时操作系统,专门做物联网介入,我现在学习,我觉得这个东西很好玩的,大家有兴趣可以了解一下,也许能触发一下自己的灵感。2017年有开发者大赛,我希望在座的各位能跟我一起去参加,如果大家有想法的话,也可以组团,也可以个人,也可以公司。大家一起参加,一起交流,参加的时候大家可以把自己的点子交流,或者把自己的技术交流,或者是大家想参加这个开发者大赛,已经有想法了,有自己作品了,但是不知道怎么入手,不知道怎么把能力集成进来的话,大家也可以在群里面交流,我也希望跟大家交流,帮大家解决一些问题。

我说完了,谢谢大家。

(结束)

责任编辑:蓝雨泪 来源: 51CTO.com
相关推荐

2009-12-14 09:43:58

2012-08-23 10:03:48

2017-07-13 17:33:18

生成对抗网络GANIan Goodfel

2017-07-18 10:16:27

强化学习决策问题监督学习

2015-09-01 09:53:04

Java Web开发者

2013-10-24 09:46:01

Firefox开发者

2012-06-13 01:23:30

开发者程序员

2021-03-16 07:56:26

开发者入职技术

2013-03-11 11:20:05

2021-06-25 17:14:23

华为应用市场

2017-03-31 20:16:53

华为开发者联盟

2010-06-08 15:45:58

PHP

2017-05-19 16:40:41

AndroidKotlin开发者

2011-03-31 15:31:18

PayPalAndroid

2022-10-11 18:37:24

开发者

2022-01-20 19:49:10

Sentry开发Scope

2013-10-30 12:51:34

2011-09-26 09:10:41

Web

2012-05-18 20:17:15

Windows Pho开发者
点赞
收藏

51CTO技术栈公众号