焦点是集成
SOA、EAI(Enterprise Application Integration)、M2M乃至物联网等技术的焦点都是信息集成,目标是消除信息孤岛,实现泛在的互联互通。物联网技术的要点是要消除“物-物相联的信息孤岛”,而SOA的目标是要消除所有的IT信息孤岛。
SOA和EAI作为重要的应用集成中间件技术,必然是物联网所依赖的重要技术之一。
计算机应用系统的发展经历了“独立应用系统”(Packaged Applications)和“集成应用系统”(Integrated Applications)两个主要阶段,随着无处不在的网络技术的发展,早年普遍存在的“独立应用系统”越来越少,或“被集成”为“集成应用系统”的一部分。集成应用系统和技术的发展和演变主要围绕EAI和SOA两个理念,SOA是对更早出现的EAI技术和理念的演变和提升。SaaS技术也和SOA密切相关,都强调“服务”,可以说,SaaS是SOA技术和理念的一种扩展和特有的存在形式。
EAI是一种将使用各种不同技术和平台(CORBA、NET、JavaEE、LAMP等)构建的各种异构应用集成的一种技术和方法。国外往往习惯加Enterprise(企业级)这个词,说成是“企业应用集成”,但EAI不只是面向“企业”应用。可以毫不夸张地说,IBM、Oracle、微软、SAP等软件巨头都是EAI公司,早期的EAI公司还有很多,如BEA、WebMethods、SeeBeyond、TIBCO、VITRIA等等。
从架构上看,EAI主要有两种方式:Hub/Spoke和BUS。Hub/Spoke方式好比“中心城市和卫星城市”的构架,所有外延(Spoke)的系统都通过适配器(Adaptor)与中心枢纽(Hub)系统实现多点对一点(非P2P)连接和集成。BUS方式是一种更开放和通用的架构,使用一个统一总线,一般是MQ(Message Queue)或ESB(Enterprise Serice Bus),子系统把消息发送给总线,总线负责消息的路由,可实现P2P服务或总体应用集成。
SOA将各种应用或子系统看成一个个独立的、自包含并良好定义的服务或组件(Service Component Architecture),通过把这些服务进行组装,统一注册,并在网络系统中发布,让(泛在)网络上的别的应用能够查询、发现和调用这些服务,实现应用集成或构成新的应用。SOA(包括相关的Web Service、SOAP、SCA等理念)的出现,一统了CORBA、NET、JavaEE乃至LAMP(Linux、Apache、MySQL、Perl/PHP/Python)等几大技术阵营多年来“水火不相容”的“不妥协”竞争局面, 这也是物联网技术和产业发展值得借鉴的宝贵经验。SOA的愿景同样是实现“无处不在”的泛在计算和服务。
业界一般认为SOA这个理念和技术比EAI晚出现,其实也不尽然,笔者记得SOA的理念早在1996年就在BEA公司内部实现TUXEDO系统的升级开发时就提出来了。从SOA概念诞生之日起,围绕SOA与EAI的重合、关联及差异所展开的争论一直没有平息。顾名思义,EAI以集成应用为己任,通过接口标准化整合应用,而这恰恰也是SOA的核心任务。SOA将一些EAI功能模块进行封装,并使之标准化,以满足应用的整合、拼装和复用的需要。在Intranet(内网)、Extranet(专网)和Internet(互联网)部署环境中,独立应用一般运行在内网,EAI一般运行在专网, SOA一般运行在专网和互联网上。
SOA和EAI是一种相辅相成、共同发展的关系,EAI理念近几年提得较少,笔者在这里再重提EAI,是希望其在物联网、M2M应用中能够得以广大发扬,以MAI(M2M Application Integration)的方式实现物联网的互联互通和大集成,进一步发展到以M2M as a Service(MaaS)或TaaS(Things as a Service)的基于云计算的营运方式提供大规模IOT服务。
SODA:将设备“统领”起来
笔者在《物联网:技术、应用、标准和商业模式》一书中提出并强调“统一的数据交换标准”是物联网技术的核心,中间件是物联网产业发展的关键,也指出了面向于RFID应用的RFID中间件EPCIS、Savant和Edgeware(边缘件),以及ONS、PML等标准对总体物联网技术发展的重要借鉴意义。而基于SOA技术和理念的SODA(Service Oriented Device Architecture,面向服务的设备架构)的提出,包括类似的基于OSGi技术框架的ECF(Eclipse Communication Framework)等,对物联网数据标准和中间件的发展也具有重要的代表意义,值得深入研究。
SODA是一个由IBM和美国Florida大学发起的倡议(Initiative)和联盟(Alliance),通过引入基于服务(SOA)的编程模型,以规范和简化智能设备(Devices)与企业应用的集成。SODA致力于充分利用嵌入式系统和IT领域已有的标准,为智能设备与SOA技术的融合提供一个标准平台。 SODA的目标是让软件开发者能够像用SOA技术实现IT业务集成那样在诸如远程医疗、军事以及RFID等物联网系统中实现与传感器和执行器的集成。
具体来说,SODA提供标准接口,把硬件设备功能转换成与硬件无关的可调用的软件服务,实现如下目标:
1 将应用集成商与设备和传感器制造商无缝对接;
2 Integrate once, Deploy everywhere, 使用户专注于整体应用方案而不是陷于设备连接工作;
3 在应用和众多(泛在)设备协议之间建立一个通用接口和DDL(设备描述语言),形成统一数据交换标准;
4 作为一个中间件平台,为众多行业应用提供应用支持。
在SODA的系统架构中,设备集成接口定义是关键,也就是所谓的API(Application Programming Interface)和设备描述语言(Device Description Language)的定义。由于末端设备对实时性以及footprint大小要求较高,一般用REST而不是用SOAP来定义和实现Web Services接口。
目前SODA的工作基本上还处在研究阶段,中间件和数据接口标准作为物联网的关键和核心,在世界范围内还没有统一标准。SODA属于美国在开展的几个类似项目之一,欧盟已经有了基于SOA的HYDRA物联网中间件项目和EPoSS项目。中国急需参与或自己成立一个联盟,开展类似SODA这样的工作,提出自己的数据标准和中间件参考实现,这是占领物联网产业制高点的关键之一!
联联看
烟草物联网全国布局
9月16日,全国烟草行业物联网建设规划研讨会在无锡召开。中烟电子商务有限责任公司总经理秦前浩、江苏省烟草专卖局(公司)局长、总经理尉彭城等领导出席会议。
会议围绕国家局局长姜成康对行业物联网提出的“全面覆盖、全面感知、全程控制、全面提升”的总体目标要求,对行业物联网建设规划进行了全面的探讨和研究。与会代表着重就《烟草行业物联网总体框架与卷烟物流物联网规划》(讨论稿)的六个方面内容进行了认真的讨论交流,并对《规划》提出了改进完善的建议。
秦前浩在总结讲话中阐述了打造烟草行业物联网的意义,提出了深化行业物联网建设规划工作的具体思路,要求成立烟叶工商各物流环节的专业化工作小组,明确了先行试点单位、试点内容以及试点完成时间,确定了《规划》分步实施、全面实现的步骤和措施。他要求各单位强化组织领导,调动和发挥力量,汇聚资源,共同推动行业物联网建设工程。
尉彭城在讲话中指出,打造中国烟草物联网,是实现“卷烟上水平”的重要内容,是提升企业核心竞争实力的重要支撑。要多听取各方面的好经验、好建议,用创新的思路做好烟草物联网的规划工作,努力实现低成本、高效率。江苏烟草将在物联网规划与实施上作进一步的探索,为打造中国烟草物联网做出自己的贡献。
与会代表还参观了无锡物联网产业研究院以及无锡市烟草专卖局(公司)物流中心。
中移动“宜居通”亮相通信展
物联网应用“宜居通”是中移动在“2010中国国际信息通信展”上展出的、中移动首个基于TD的典型物联网应用。据了解,该业务已于今年5月17日在重庆试商用,随后在北京的一些小区进行了试推广。“宜居通”作为中移动的全国一类业务,在移动内部深受重视。一方面,它是首个基于TD的物联网产品,此前中移动的物联网业务很多用的是GPRS网络;另一方面,它将TD 3G网络以及家庭内部的小型传感网络融合在了一起;再有,此前中移动的物联网业务大多都是政企行业应用,而“宜居通”则是首个面向大众的物联网产品,能将中移动的用户资源与TD业务很好地结合在一起。
“宜居通”整合了家庭安防、智能家居和通信等各种功能。未来,用户可通过家中的TD家庭多功能信息终端和TD手机来 *** 控“宜居通”,如远程控制空调等家电,预警温度、烟雾等危险,使家中的各种设备通过传感器连成了一个小型传感网,并与TD网络进行信息交互。
据了解,“宜居通”最晚将在明年1月在全国大规模试商用,明年6月将正式商用。
为了这一产品的顺利推广,中移动专门制定了家庭场景下的传感网通信标准,目前产业链内上下游厂商针对此标准已经开发了相应的产品。
(作者系同方泰德国际科技公司CTO)周洪波物联网开发需要的技术
一:单片机/嵌入式开发
智能硬件,哎,不就是单片机吗说到底就是一个微控制器,现在出现的智能手表,调光LED灯,蓝牙开锁,WiFi插座等等,说到底不就是单片机开发嘛单片机,电子和通信专业一般都会教51或AVR、计算机系接触不到。现在流行的Arduino也是单片机开发的一种。
但是要做一款智能硬件,技术上只会单片机编程还是不行的。哎呀嘛什么智能硬件,本质上就是一个电子产品!。所以你要开发一款能拿得出手的智能硬件,电子系统设计必须要会的!
二:网络通信协议
智能硬件与传统的电子产品最大的差别,就是智能硬件连上了网络。要连上网络,就需要用到网络通信模块及学习网络通信协议——TCP/IP。
TCP/IP是一个技术的总称,里面包含两种协议TCP、UDP,位于网络通信分层模型的传输层,同时也是由 *** 作系统管理。而>
作为一名IT从业者,同时也是一名计算机专业的教育工作者,我来回答一下这个问题。
首先,编程语言本身与应用场景有比较密切的关系,通常不同的开发场景会采用不同的编程语言,所以当前编程语言的种类也比较多,总体上有600种左右,比较常见的编程语言也有几十种,其中Java、Python和PHP是比较常见的编程语言。
编程语言之间并没有直接的关联关系,但是在同一个技术体系结构下,多个编程语言之间也可以进行合作,比如人工智能平台可能会采用Java开发,但是在开发具体应用的时候,可以采用Python语言等。
从应用场景来看,Java和Python属于全场景编程语言,可以应用的开发场景也比较多,比如Web开发、大数据开发、移动互联网开发、物联网开发等等。当前在大数据和人工智能领域,Python的应用更普遍一些,随着大数据和人工智能的发展,未来Python语言的前景还是比较不错的。
PHP语言主要的应用场景是Web开发,虽然应用场景比较单一,但是由于PHP语言在Web开发领域的份额比较高,所以在Web开发领域有大量的PHP程序员。虽然当前移动端开发获得了快速的发展,开发规模也比较大,但是PHP依然是比较重要的编程语言之一。对于基础比较薄弱的初学者来说,从PHP开始学起也是不错的选择。
最后,对于程序员来说,在程序开发的过程中,通常需要掌握多门编程语言,以应对不同的开发场景。
Java,php,c#,web前端,运维等等选择哪个?,当时大专(2009年左右)选择的是软件技术,大一非常努力,学得也非常好,不管是C语言还是数据结构那些,大二差距就拉开了,我就越学越好,其他很多同学课都听不懂了,我却觉得很简单,当初因为php非常火爆流行,网上都说简单易学(大概2011年的时候),我也就非常喜欢了,看了php培训课程感觉范围很广,什么数据库,前端后台,linux都有学,觉得以后维护也可以做啊(现在觉得那时太天真,有专门的linux运维,php学的那点linux也只是常用命令,让你能够把项目布置到服务器就差不多了,也就学点基础简单的,学的时间也短,和我想的是不一样的,很多其他培训课程都有学linux,就像web前端也有学,培训web前端也学点简单的php和mysql,但也只是了解点而已),但是学校主要教的还是java和c#基础,框架那些都没学我当时也没了解,mvc好像也才流行,我也不知道是什么反正当时就感觉是很厉害的技术,当时在学校也参加了自考,也都考过了,很多参加的都挂科了,我觉得自己也厉害就有些骄傲了,到了大专毕业因为前面几名都放弃专升本名额我就去专升本了(我那时成绩是实打实的,前几名有些技术没我好有些自考也挂科有些考试也作弊的),虽然当初喜欢php,但是也没有往后学,专科大三有很多时间都在看java基础,因为当时培训非常火,出了很多有意思的视频,我就去看视频学基础,都没去看高级部分,基础都不知道看了多少次了(当时网上有人说基础重要,基础好了框架就容易了,所以当时我就看了很多次基础,但是好像也有人说框架很难,前面简单,觉得框架难,但是当时没太在意吧?选择性无视?),专升本后也是倒霉,我们学校一起专升本的同学去那里不学习,整天玩,我们宿舍还有两个其他专升本的蛮厉害的,做过工作的,了解mvc和那些框架,导致我居然觉得自己开始有点菜了,自卑了?现在想想也是可笑,只是当时不了解,现在了解了觉得当初那些难的现在看来也很简单,而且那个同学当初工资也就2千左右,不是因为他厉害,而是我想太多。因为英语差,专升本毕业没拿到学位证,毕业后php又不流行了,别人都叫我培训web前端,我对web前端是迷茫的,因为在大专的时候前端是编程里最被鄙视的,现在web前端突然火了,而且网上都说比php难我是没反应过来的,其实我更喜欢大专的时候写代码(java,c#)那种感觉。但还是去培训web前端了,框架前面还好,排名都是前几,学到框架就崩溃了,为什么?因为专升本后遇到那两个很厉害的同学导致自己不太喜欢写代码了,怀疑是不是自己不适合,又看到以前大专的一个同学自学ui设计找到工资不错的工作,当时其实毕业是想学ui设计的,但是其他人都建议我学web前端,那我就学了,再加上强迫症吧,我喜欢一样东西就不太再去喜欢其他的,我在大学的时候就在想喜欢windows就不想喜欢linux,不喜欢在自己电脑装linux,还有乱七八糟的东西,也不喜欢那些黑黑的命令行,还有那些各种配置乱七八糟的,就喜欢写代码的感觉很爽,不过当时喜欢php也知道要学linux当时也不排斥,看网上说LAMP是黄金组合,觉得很是喜欢,都是免费的,但就像我上面说的我大学还处于java,c#基础阶段,思想也是处在那个阶段,也是感觉那个阶段写代码爽,所以我学到web前端的框架部分的时候,各种乱七八糟的配置我很是反感,还有node的时候,其实我不反感node开始还有些喜欢,因为老师说前后端都用js我就觉得很酷,但是老师有一次说写网站还是php好,一般不用node写后端,当时我就开始反感了,因为我选择了web前端,你说php好,那我不是更迷茫了?说web前端主要写组件的当时就崩溃了,因为我还是喜欢写后台系统那些,觉得维护修改bug很有意思有成就感,不喜欢写什么组件,开始学web前端也不知道后面要学什么,php基础有点,node学了其实蛮喜欢的,但是老师说的不喜欢,以前都不知道这是什么,老师讲课又快,框架什么的都不说有什么用具体是什么,就教了,有时候云里雾里的。最后毕业后悔选择了web前端,也没怎么找工作,就这么浪费了5年,这5年也在反复横跳,思考当初到底如何选择才是对的。有点后悔升本了,如果没升本当初就选择自己喜欢的php了,至少混的也比现在好吧,但是升本这个机会又是提升学历的一大好机会,毕竟高中努力不就是读个好大学吗?所以如果有这个机会不升本当时也觉得亏,以后可能也还是觉得亏,但是如果当时前几名同学去升本我就没机会升本了,这个或许最好了,没升本我也不会觉得怎么样,就不需要选择了,也就不会后悔了,可惜运气不好,前几名不升本。又或者如果大专大三的时候自己把php看完学完,升本的时候或许还有机会拿到学位证(宿舍那两个拿到学位证英语都很差,比我还差,但是他们其他课程成绩好,拉高学分绩),如果当初学完php,学了框架,mvc,到了本科遇到其他同学也不会说觉得自己不适合害怕什么的,就算学到java的框架复杂点的,其实概念都是差不多的(感觉差不多),界面写好看点(有些老师只看你界面打分,里面代码细节也不会看),分数也可以拿高点,现在回头看以前本科觉得难的其实当初我也是会的,只是以为别人工作过懂mvc什么,我没接触过以为自己写的学的是淘汰没用的,现在来看那些也都是以前学的东西,自己很多都接触过,没接触过看一下也能懂,那时候看培训视频感觉太好了,就觉得学校学的是淘汰的(有些少部分确实是),就不太信任自己学的了,其实都差不多的,本科刚开始做课程设计也觉得害怕,觉得好像很难啊,做了几个发现其他本科的也是这么菜还没我厉害,我越做越好,只怪我当初大专和本科那段空闲的时间没好好利用起来,都在学java基础或者看电视剧了和网上人聊天了,不然学完php对知识体系大概(比如什么是mvc,什么是框架,而不是听见就觉得高大上,害怕,那种为未知的恐惧)有了认识本科也不会混得差,本科毕业后也不用去培训什么web前端直接找php工作就ok了,只怪当时也太信任培训的了,有个同学他就不信,他就不去培训,他也是升本的,他说都升本了还培训什么,本科毕业后直接去工作了,现在也做得蛮好的。当时网上也找了些培训课程,觉得不错,但是又好像不够全面,他自己的体系,有些比如cms那些没教,当时也蛮喜欢那些用cms帮别人做网站接活的,我就觉得学完会不会少些什么,也担心,那些完整的培训视频看了又会花很多时间精力,大学学习java和c#就是基础一个月视频看了几个月,自学确实有时候蛮难的,培训好的在于环境吧,导致培训课程视频没看完,网上那些自己出的体系也没看完,现在想想也后悔,网上那些体系看完也行啊,cms都不是很重要,想用有基础自己看看不就ok了?难道是因为强迫症?不完整的不想看?或许是,所以也怪自己,那时候cms很火,网上也出了很多自己的教程,很乱,看得也是稀里糊涂的没有体系,有时候还是觉得可能学完也忘记了,不如工作如果需要有人带你,用什么学什么更好。这两种选择都没选,其实本科毕业后还是有机会的,当时大专同学很差的去学了自学ui设计找到工资不错的工作,当时我也很想学ui设计,可惜几个做ui设计的和网上的人都说ui设计不好找工作了,导致我也没选择,而且ui设计培训完了还有其他单独的培训比如什么交互的培训,临摹的培训,感觉如果想要学好培训完还要参加其他培训才行,我就不喜欢太多的这种,编程的就是只培训一种就行(就像编程培训视频一套就行,ui设计的视频培训视频一套,还有其他结构的交互视频一套,临摹视频一套,太多太乱了),又喜欢又排斥只能说。前面说了本科这样,所以编程是不想学了,所以php也是想学又不想学,想学是因为大专的时候喜欢,不想学是因为本科之后对代码的排斥,但是当时也不知道web前端是怎么样的,都没有大概的了解,所以就去学了web前端,但是web前端学到框架那里就烦了,因为要学linux,要用命令行,还要看英文文档,开发工具也是黑色背景,不喜欢。我的感觉还停留在大专写java,和c#那种感觉,不用怎么配置就可以开心的写代码,当时对php的感觉也是这样(虽然不具体学过),当时流行的jq(当时看网上前端会点jq就能找到好工作),也觉得php就像大专的时候学java那种感觉,觉得jq就是引个包就能愉快写代码了,所以学web前端的时候又想着学php(虽然前面说了本科不喜欢写代码了,但是web前端培训的时候因为排名靠前,又觉得自己写代码又行了)或者想着学ui设计,不喜欢web前端那种各种配置,和linux那些(如果是学php学linux又不排斥,怪怪的感觉,感觉php和linux是黄金组合吧?,或许觉得web前端就不应该学linux?),其实这也是无知的表现,所以认知不全面就很影响判断,就在前几天看了下php的培训视频,后面框架部分,发现学php也有类似前端的npm比如Composer,也是各种配置各种命令,php框架并不觉得比node学的express舒服,配置还多,当初以为php自带很多现成的东西,比如界面啊,写web界面会很方便,以为会自己生成,现在才发现很多都是第三方的,别人拿来直接用的,以前认为数据传输会很简单,现在发现和node一样该怎么用还是要怎么用,并没有觉得会非常方便,甚至到这里我更喜欢web前端的node的内容了,说难点的或许就是异步吧,但是我学得很好,这也不是让我犹豫的地方,可惜本科的时候不知道,不如分数会拉得更高,那些基础得增删改查其实都会,就是框架没学,如果界面弄好看点,直接拿网上找的(以前我一直以为那些界面都是同学自己写的,或者系统生成的,反正是我不会的,觉得网上找的或者自己写的或许是淘汰不标准的,反正就是怀疑自己,也说不出那种感觉,不知道前端页面如何和后台数据交互吧,比如绑定还是什么的?自己也有学c#拖控件组件直接绑定数据觉得很简单,就觉得是不是淘汰的或者出去社会也不用的,就是怀疑自己觉得简单,现在看来是我想太多,本来就不难的啊,很简单的东西我自己想得太复杂,被那些各种高大上名词忽悠了),分数会更高,拿到学位证机会更大吧,可惜那时候不相信自己,不相信大学的东西,觉得那是淘汰的以前的,以前一直以为培训教的项目都是完整的,培训之后才发现很多也是半成品,看了下网上培训视频很多都是半成品,教你用框架增删改查写出的项目也是半成品,和大学自己学的也差不多,只是用了框架数据传输的思路变了一些而已,以前整天吹得好像多么多么牛,什么企业级项目开发,搞得我自己都怀疑自己迷茫了,过于相信培训了,让自己怀疑自己。有段时间还犹豫当初是不是选择java会更好,因为java大学都有学,如果大专选择java,本科也用java,似乎更通用(其实也不完全对,c#大专本科都有啊,但是现在来看也淘汰了,比php淘汰还快,微软c#还是微软的呢,够大牌了吧?),就像官方或者品牌一样有保障,虽然难点,但是我大专也学得好啊,当初喜欢php是因为都说php简单易学,java难一点,但是想到那时中专的都能学会找到不错的工作,我也能,容错率更高,有段时间我是这么想的,但是想了之后还是迷茫,为什么?因为我后面已经觉得简单才好,因为以前小时候买的很多软件当时喜欢,但是长大之后觉得变成了负担,又看了网上的极简,觉得简单更快乐,当然简单不是极简啊,极端我觉得就不好了,所以我又觉得java太臃肿复杂,配置一大堆,就觉得这不是和我的思想矛盾了吗?觉得选择java是对的但是又和自己追求简单矛盾了,想啊想,然后网上看了下某智的java视频,框架各种前面介绍视频,真的这个机构的培训视频总能给我眼前一亮的感觉,讲技术前都会介绍这个东西是什么,有什么用,为什么会有这个东西,比如讲框架,以前我是不知道是什么,网上查了下别人的比喻大概懂但是又没懂完,我培训的时候也是,框架也不怎么介绍就讲怎么用,学一个东西你不告诉我他是做什么的,我学的云里雾里的,目标是什么,作用是什么都不说,反正我感觉不适合我,这个培训机构视频是什么都说得很清楚,也看了下用法,反正和我以前想的不一样,以前总觉得很高大上,现在就觉得框架就是解决或者简化某些问题的,其实也就那样,相当于帮你把你原来学的基础内容封装起来,用他的规则来简化写代码,就算不会框架你也可以用基础学的内容写出同样相同的东西,如果我本科知道的话就算不用框架我也能写出,这样我就不会排斥了,分数也会高很多吧,不过看了下java的框架确实很多,臃肿,所以我看到这里又觉得还是不选择java比较好,又觉得选择java不适合了。看完视频又非常后悔为何早点没看(早点看就不会整天和自己的想象认知胡思乱想了,总是在自己认知的世界里想解决问题,但是认知不够又不好解决,想的毕竟和现实是有差距的,感觉也有差距),当初大学的时候说看不懂没认知就算了,培训web前端之后发现这些视频介绍的各种大部分都看得懂,看得懂就有了大概的认知,而不是像前面说的对php的认知还是停留在大专的那时候随便会点不用配置太多就能很爽的写代码(大专的认知就是基础那些),而是像学web前端那些工具框架一样要配置很多东西(虽然php感觉还是比web前端简单些,但是也简单不到哪,对于现在我来说差不多,只差一点,其实都能学会学好),所以说一个知识体系的学习还是很有必要的,学完之后看其他类似大概都能看懂知道是什么回事。对比java,php,web前端之后发现java还是和想的一样复杂臃肿就算了,至于php和web前端的想法就发生很大改变,觉得这两个其实难度也差不了太多(以前会觉得php比web前端简单很多,配置很少,现在感觉并不是这样),只是一个偏向前端,一个偏向后端,反正他们这两个前后端都要学的,只是偏重不一样,当初本科毕业后选择web前端也没错,其实你用node写自己喜欢的东西也不难啊,php比web前端多的大概不就是mysql,php的框架(你有node框架代替),linux?(我们web前端也有教,听说有些机构不教),爬虫(不是主要的),好像也没多多少,就算自己额外学习,几周也就够了啊,node也能用mysql啊(我看有些机构就是教node连接mysql,当然当时我们学的是mangodb),感觉当初自己真的是可笑,写自己喜欢的项目完全可以用node代替php的,主要是当时认知的误差,觉得php能比其他语言写网站多快多快,看了下视频,其实也差不多,数据该传还是要传,又不是什么都自动帮你搞好(主要当时php确实很火,做网站的确实很多用php,很多也是写好的),觉得自己可笑,当时还怪同学让自己学前端,觉得是坑我,现在发现是自己的问题,而且可能还是我坑他,我找的web前端这个培训机构老师讲课太快,后面框架很多人都蒙了,同学培训完也没怎么找到工作,只要是在一个群有个人无意中和我私聊说的这个机构,都不知道那个人是不是托,我在网上看大机构讲课比我们老师觉得要更好,至少会和你说这个有什么用,用这个东西之前会告诉你是什么,我们老师就是让你先学先上车,以后再了解,当然也有少部分同学喜欢那个老师的觉得那个老师讲得好,听得非常认真(这个老师以前也是在另一个大机构当老师的,而且算有点名的吧,虽然我不喜欢那种风格,个人喜好,我喜欢前面那个老师其他同学又不喜欢,都不怎么听自己看视频,所以说个人喜好),毕业的时候php准备要淘汰了,其实不喜欢太复杂的话,把web前端当作是php的延续不更好么?从喜欢php转移到喜欢web前端不更好么?如果让我说当初应该选什么,大专的时候做选择,那其实还是选择php,因为当时web前端都没怎么火,java和php都很火,只有在这两个当中选,而且大学学的也是后端偏多,前端都是一些淘汰的,还用软件来布局,java我觉得复杂(安卓虽然也简单,但是我觉得要买安卓手机还要在上面开发觉得没php方便就不选了),所以还是选择php洛。而且就算学了web前端里面的node,我也会怀疑自己,node是不是只是陪衬的,不是主要的,肯定和java,php那些比不了,也一样会怀疑,除非当时又看了php的框架教程,其实有了经验,很多教程目录或者内容一眼看过去就大概知道是什么,懂是什么了。以前还有个问题就是也下了很多完整培训视频,但是没看完,有时候看到新的视频又害怕以前视频会不会老了,技术淘汰了,害怕像学校的一样学了一些淘汰没用的技术,拿到新视频又重新看又浪费时间,不重新看又怕错过什么,所以时间就是这么浪费的,现在发现教程只要不是老得太离谱,就算几年时间也没关系的,基础还是那个基础,高级框架变了也不会太多,就算你学的是淘汰的你有了那个基础去学新的框架也一样很快,前面很多东西也是一样的,有些新的东西是在旧的基础上增加的(当然也不全是),而且很多时候你就算学新的旧的也一样要学,因为这么多公司,有些公司用的技术还是以前的,就比如学前端,jq还是要学,还有公司用,虽然用vue很多,但你不能保证旧技术没公司用啊,所以学了也没什么,现在这么看好像有点被大学的前端课程坑了,其他什么数据结构,c语言都没问题,但是当时学校教前端居然还用table布局,我又看了网上的,搞得我对大学的课程印象非常不好,觉得都是淘汰的,其实java和c#和其他课程都不错的,但是教的前端实在是给人印象太差。大学什么老师都有,上课放动画的,上课还自己看书的,因为那个老师说他以前上课不听课,自学变得很厉害,所以也这样?现在后悔学web前端为什么要浪费这么多时间后悔了,就算不喜欢node,你把node换成php的成本也就半个月到一个月的时间吧,对于我这种有基础(大学编程基础)而且完整培训完web前端知识体系的人来说。我现在发现web前端和php有很多重合的地方,比如前端html,css,js,jq这些前面都有学吧,我大学也自学过,web前端培训的时候也学,虽然前端培训学得或许深点,(但是有个问题,我培训学到框架之后培训老师说我们主要以后写组件的,不是让你写什么html界面,css那些,主要写组件,那么问题来了,你前面学那些培训这么久做什么?你把时间给框架多点不行么,多用点框架写项目不好么?前面不怎么用你学这么深做什么?而且网上也有很多写好的插件吧,你用原生写效率很很低的吧,公司也有自己的库么?会用你自己写的么?特别是小公司,说到这里又像说下以前喜欢中小公司,觉得自由,更有意思,学php还可以自己接活,有成就感,不喜欢大公司,但是前段时间又喜欢中等公司,因为觉得创业潮过了,不适合创业了,还是有个技术安稳上班比较适合,容错率高,不用太考虑太多,为什么不说喜欢大公司,因为我觉得我也进不去啊),这些前端基础php和web前端都有学,感觉php学的也够用了(看了下java的前端,感觉php学的前端还是要比java学的前端要多点的感觉),之后的就有点差别,比如web前端学nodejs,php就学php,其实难度差不多的,node也不觉得有多难,web前端我们那时也学linux教你部署,php培训也是教你一点linux,web前端学三个前端框架Vuejs、Angularjs、Reactjs,老师也是让你们专攻一个就行,一个会了其他自学也很快就会,php培训我听同学说也会学个vue,php学phpthink那node学个express,其实难度差不多嘛,重合的也很多,最主要是当时培训web前端最后老师也没教微信小程序开发,你敢信?我学的前端老师居然没教,老师说很简单,说自学就行,发了个视频给我们,真的很搞笑,当时小程序这么火,面试别人都会问你会不会,你居然没教,教点那些难难听不懂的有屁用啊?我听别人php培训的都说有教微信小程序,我觉得真是搞笑,当时我也有想转php还教了500元定金想去培训,但是学了一天发现环境不好,而且我又一根筋,觉得学了web前端就不想选择其他了(当时web前端培训排名又靠前放弃又觉得可惜),要专一,又放弃php,去复习web前端,但是我又不喜欢web前端,真的是烦恼。如果当初直接学php,就算php不好找工作,php培训的前面那些前端大部分都会,vue当时很火,你去网上找个vue的教程(其实和web前端培训差不多的)就一周的内容,再学几天小程序,直接从php转到web前端也比我直接去培训web前端要方便容易啊,你再用php代替node,这不更好么,你学了喜欢的php,不行又可以转前端(当时可能转前端也不是很难吧,我听网上有些学ui设计的有些学完ui设计公司让他们去做web前端了,因为ui设计也学点简单的前端,这都能做前端工作,说明当如果php转不比学ui的要简单?)。虽然知道php淘汰了,不知道为什么那种感觉还在,还是喜欢(当培训机构取消php的时候有点高兴,因为我认为选择web前端是对的,我以为自己能安心学习前端,但是过几天还是犹豫,还是想学php,喜欢就是喜欢,没有太多理由,感觉当初本科毕业要么学php要么学ui设计,就算失败也无所谓,反正本科也不想写代码了,学ui设计失败就直接转行了,学php如果失败反正也是当初自己喜欢的,失败就转行了,我也不会说php失败再去学其他的比如web前端或者java了,因为那些都比php难,一开始就学难的如果失败了就麻烦,你再选简单的也不能保证简单的能否成功,但是你一开始选择简单的,成功了最好,失败了你也不会浪费时间再选难的了,这样容错率更高啊,当然简单的和难的回报率也不能差太多,不然也不好判断)。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)