相信很多程序员都已经可以多种语言开发,工作5年以上的程序员,如果会多语言开发的话,都有这样的一个共识。
就是基本上遇到的错误都能解决,而且学习一种新的框架,或者新的语言可能也就是一两个礼拜的事。
如果领导给了借鉴的项目,可能几天就可以上手开发了。所以多种语言开发不是什么特别的地方。
其实一个新框架或者语言,掌握了20%的核心技术就可以开发80%的项目。这一点也是符合2/8定律。
当然有的小伙伴只专注于一种语言开发,这也非常好,如果专注于Java开发,那后面的潜力巨大,当然别的语言也不错。
尝试了用9种语言开发后,我发现了一些相似的地方,可能很多小伙伴都已经发现,所以我们就聊一聊多语言开发的事,希望给大家以启发和共鸣。
如何快速学习一个新框架
或者新语言
大家如何快速学习一个新的框架,或者用一门新的语言来开发呢?首先一般用一门语言开发或者用一个框架开发。
我们可以把他的基本架构想象成MVC的结构,也就是M:model,V:view,C:controller。当然也有MVP,MVVM,等等架构。那些先不提。
我们要看他的数据也就是model是怎么处理的,iOS中,用@property属性来定义字段,Android和Java中用的是JavaBean。
我们要看他的数据的写法,每一种语言和框架都不同。
接下来,我们就要看View视图是怎么处理的,iOS中用的是.xib,.storyboard。Android用的是.xml,Java用的是.jsp。
其他的前端,或者PHP基本上都是用的Html,css那些,只不过Ionic2有自己的一套标签,ReactNative也有自己的一套,微信小程序也是自己的.wxml,.wxss。具体怎么用可以查官方文档。
而Controller,每一种语言也都有自己的,iOS的oc语言分为.h,.m文件。Android是Activity。Java是.java。PHP的是.php。其他前端的都是.js,或者.ts,ts就是typescript。ionic2就用的它。
当我们找到了MVC分别是谁的时候,就解决了一大半问题,之后重要的就是看他们之间的连接是怎么玩的。
易总曾分享过,不但要了解事物的要素,最关键的也是要知道要素和要素之间的连接。往往问题都出现在连接上。比如我们查的很久的一个项目问题,最后发现是IP的问题。
能解决问题的也是连接。这跟资源整合的能力很像,就是要解决关键链接的人和企业,那整个链条就会打通。
在销售中也是,如果能找到关键KP,也就是能够决策和有经济能力的人,销售量就会大幅提升。
同样我们也要看MVC之间是通过什么方式连接在一起的,经常就是一句代码,一个API就把两者连接了,或者是双向数据绑定{{ }},等。
关注了MVC之后,在关注什么呢?就是网络,网络其实也是连接,他是后端与大前端之间连接。
我们知道数据从数据库中出来经过处理会通过API接口传给大前端,而移动端或者前端接收到数据经过处理就会展示到页面上。
所以数据是最重要的,整个软件其实也就是在处理数据,最近大数据开发,大数据分析,人工智能都是在处理数据。
我们可以观看这个语言或者框架的网络部分是怎么处理的,有的用ajax,有的用axios.比如Vue。这样网络的部分关注好了。
接下来就是数据如何转换的成Model的。还有路由,我们知道路由的本质还是为了解耦,模块化也是如此,方便程序的管理和扩展,设计模式也是如此,他是一种类与类之间的一种逻辑关系,通过接口和继承等方式实现。
总共有23种,我们可能编程的过程中没有意识到用了什么设计模式,可实际上使用了23种设计模式的其中一种,这样的目的就是为了解耦,并且使程序的可扩展性变强,说白了就是我改代码的时候不用改太多就可以。
之后再加上一些缓存,安全,启动项的配置,还有一些配置文件,小插件,小片段。大概一个新框架,新语言就知道的七七八八了。配合相关的文档和项目就可以开发了。
多种语言的会开发,不算什么
牛逼的是对架构的深入理解
多种语言的会开发其实不算什么,真正牛逼的是对架构的深刻理解,比如说在亿级,或者千亿级的访问量的项目中如何保证项目的高可用,高可靠,数据的一致性问题?
还有在整个数据中心瘫痪的时候,如何快速的切换异地机房?这些关于架构的理解和知识才是最牛逼的,当然也是钱多的。
这方面的大牛就太多了,一般一个资深的架构师,可以年薪百万,当然这是指得技术上的。总监和CTO就不说了,年薪也是非常好的。
但这些职位又需要技术之外的能力,比如运营,产品,市场,商业sense,管理,沟通,心力等综合实力。听别人分享,CEO每次发工资的时候就会想明白很多事。
永远别觉得自己牛逼,
因为比我们出色的人太多了,可是要自信
技术发展到一定时候,我们还有很多技术不知道,技术的探索是无穷尽的,所以要学会跟别人合作。
永远不要觉得自己的有多牛逼,因为比我们牛逼的人太多了,发展到后来,技术只是其中的一方面,还有很多其他的能力需要学习。
当然刚开始的小伙伴也不要气馁,先把本职工作做好,把一种技术学精学透。
这样对以后发展非常有利,我们既要谦卑,也要无比自信,这两者不冲突。愿我们竭尽全力,尽力而为,都能过上我们想过的生活。
我们一起成长
职业规划,个人发展突破,深度思考,只为精品
点击留言