热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

作为一个前端工程师,是往node方面转,还是往HTML5方面转?-

这两方面,哪个未来几年更具有潜力
这两方面,哪个未来几年更具有潜力

回复内容:

当你问这个问题的时候,我碰到很多类似于这样一个状态的同学,他们都有一个共同的疑问该学php还是nodejs,包括我自己也曾有过同样的经历。幸运的是,通过我内心的挣扎或对当前市场供需关系以及行业发展的综合评估后,我还是在接触了php之后回到js这片天空上来了,一方面是客观因素,一方面是兴趣导致的,前端太好玩了。其实这也是一个开发者成长必须经历的一个洗礼,一个磨难,一个挑战。很多人不差智商,不差情商,不差体力。就是学不好一个东西。最后败在坚持,专注上面了。经受不住其它语言,内心私欲的诱惑,都一一败下阵来。缺少的就是:坚持专注。业界坚持,专注代表: @司徒正美@张鑫旭 。司徒大牛 600篇js文章,司徒正美 - 博客园 ,是岁月或历史或势力的见证。张同学42页博文也是一个标志。张鑫旭-鑫空间
关于html5,他是个新东西吗?是新瓶装老酒而已,有实际处理问题的经验,可以平滑的过渡,学习成本很低,但并不表示没有。

以下是我在群内回答一个同学问题时的一点个人建议,仅供参考:

学前台的需要了解后台的一门语言,了解,是要到哪种程度?是要会做一些东西出来吗?

了解数据从数据库中查的动作,或输出传递返回http的这个过程。也可以深入了解一下输入网址之后做了什么事的这个贴子。

html5rocks.com/zh/tutor

NutUX

从浏览器的渲染原理讲CSS性能-Smallni's blog

浏览器的渲染原理简介
Javascript文件并行加载与顺序执行 《高性能Javascript》读书笔记
js 并行加载与顺序执行
从输入 URL 到页面加载完成的过程中都发生了什么事情? FEX 做最专业的前端
NutUX
浏览器的工作原理:新式网络浏览器幕后揭秘
js和css的顺序关系%E5%92%8Ccss%E7%9A%84%E9%A1%BA%E5%BA%8F%E5%85%B3%E7%B3%BB

js css的顺序
Javascript 装载和执行
浏览器加载和渲染html的顺序


比如了解基本的sql语句,select,delete,update,insert,然后了解各个语言操作sql的基本语句,然后输出到页面上的过程,在深入就是了解一下mvc的开发流程。

然后你会发现,世界上有2种语言,操作sql的后台语言,操作dom的js。

然后就有方向了,学了js,学任何一门后台语言,都可以无缝的跨界,比如php,nodejs,jsp,c#,ruby,python, and so on.区别的是语言开发的平台,工具,有时候连api都是很像似。

从前端的角度我推荐2门语言,php,nodejs。想照顾一些老的东西,就学php,展望新方向可以了解一下nodejs。反正这2个从操作sql的方面来说,有很大的相似性。按照这个结论下来,无论选nodejs,php都可以,可以从主观上判断,到底是那个更适合你。或者做一个小的留言板,看看那个更符合你的思维习惯。

瓶颈就是你写得少,建议多写,用解决实际问题的经验来跨越语言造成的障碍。

刚才你说做一些东西出来,建议有这几个,你可以选择一下:

留言板,个人网站/博客,企业网站,电商网站,文章管理cms,门户网站,难度分别从前到后。


然后回归正题,只是建议你了解,了解是为了把前端干的更好,什么时候真正的深入学习?建议在学好js的前提之下,学习一门后端语言,nodejs或php都有各自的应用场景,要么选一个公司现在用的,要么选择一个适合自己思维的。

另外什么叫学好js?请向各个业界js大牛看起,不一定非要那么深的深度,但一定达到自己力所能及的高度。


最后分享一下我个人的心得:每个人都有好奇之心,这对做技术的来说并不是什么坏事,正因为这颗好奇之心,不断的带领向前迈进。另外了解一下满足一下好奇心没什么不好。就如同我当时学习php一样,感觉学习之后有多牛B,真正的学习后做了一个网站出来之后发现,确实收获不少,对前端也有帮助。但是js的水平还是在原地,除了擅长使用jquery之外,并没有太多的擅长。所以我了解之后迅速回归到原生js的学习当中,就是发起的这个项目 jikeytang/frontcode · GitHub

豪情前端作品列表: 然后这是我写了2个月的战果,放到生产中去,肯定有不少bug,但重要的是迈出了第一步。

到目前为止我感觉,还没有达到一个自己满意的力所能及的高度,努力中。但人的精力是有限的,能力是有限的,在有限的精力里边把一件事情做好就已经很不错了。


另外想找个好群就加这个吧:389875212 Node是前端工程师的天使翅膀,前端从此不在固步于浏览器,可以翱翔在服务器端开发(koa chair tianma等),前端工程化工具(yo grunt bower gulp等),跨平台桌面软件(atom编辑器)

HTML5 CSS3 ES6是看家本领

技能掌握越全面,思路越广阔 现在你还对HTML5犹豫?
node到是要看看你工作环境,如果想尝试全端,可以考虑一下,不过说实在的坑比较多,特别是著名的回调金字塔。 前景方向,nodejs与HTML5的前景都可谓一片辉煌:
  • 现在的github上js已经是最活跃的社区没有之一,而node的项目基本占了半壁江山,这是一个很活跃很年轻的领域,而且能很方便地解决很多问题
  • HTML5则是在各大厂的强力支持下成长的,尚在他不成熟的时候都已经有了大量的PhoneGap应用及桌面端WebView在大量使用它,应用场景相当丰富,也不会跟其它技术栈冲突
而至于说选择,我反对很多说HTML5是基础而Node是进阶的看法,因为这两个根本不是一个范畴的东西。其实在这两者之间的选择,不是纯粹的技术选择,而是关于发展方向的选择:
  • Node方向明显是往数据处理及其通信方向走,更偏传统程序员的进阶思路。如果你想做的是程序员,那Node就是前端最好的跳板,在这基础上再去玩其它服务甚或其它语言,都是相当不错的工具或基石;
  • 而HTML5明显更往用户方向走,要做到的事情更多是让用户在WEB界面上能有更多样化的功能与交互体验,甚至可以在这基础上做重量级的游戏,等等。
的确,这两者是不冲突的,但从另一方面来说,两边的思维方式却又是截然不同的。作为一名前端,我更倾向于两边都有所涉猎,再根据自己的兴趣及需要进行深入研究。 复制一个之前的答案,我想也适合这个主题

作为一个一直工作于前端的人,我来说说我的经验吧。(ps:我是今年刚毕业的非重点学校(全国五百倒一)的非计算机专业学生,目前在一家外企工作。)

大学时因为好友认识的人比较多,有比较好的人脉,在大二开始的时候,我们接一些学校外面的网站来当兼职以及练手。

那时候我负责的是前端,所以我算是以前端入门web的。由于不是计算机,当时学的东西,要是按照需要学的,如
- CSS Hacker
- 浏览器兼容性
- Javascript以及jQuery

等等这些已经是一些众所周知的事,这里就不多说了。说说之后的事吧,当时Nodejs刚火的时候,试着接触了一下,还没有今天这样子,而且还没有Backbone,Angularjs,ember这些东西。当时,我以为世界就只有这么大,前端也就只有那么点东西。

我猜你需要的是一个方向,因为你学到的前端的知识已经达到你所知道的极限,需要去了解一个更广泛的空间
当我开始实习的时候(外包公司),我开始接触到了更多的东西,我试着用不同的框架去做不同的东西。

我试着拿Nodejs下的CoAP协议去搭建一个物联网框架
phodal/iot-coap · GitHub
试着开始用

  • RESTify
  • Node Mongodb
  • Node SQLite

等框来完成这样一个简单的系统,以及用JS来写测试,mock对象,stub对象,spy对象。

在某个时候,当我和你抱着同样想法的时候,开始了又一次新的旅行
phodal/moqi.mobi · GitHub
拿backbone,mustache,requirejs去搭建一个移动CMS。

接着最近我开始做一个前后端分离的系统
phodal/freerice · GitHub
Node+RESTify提供后台JSON,与cms同样逻辑的系统完成前台。

最后我得出的结论是:

那些认为前端不能一直做的理由是,

看不到前端的未来。
看不到前后端分离的未来。

前端在过去也是没有前途的,当时JS没有现在流行,NodeJS还没有出来。但是今天呢?

最后打一个小广告,我的博客,大部分是关于前端的: 狼和凤凰 | Phodal Geek's Life 现代的 Web App 开发其实已经无法离开 NodeJS,目前的JS模块化引发了一系列前端开发应用程序化,也引入了 MVC 框架、Workflow control、编译系统、单元测试环境等等,这无疑对开发人员有了更高的要求,因为以上的一切都不同于传统服务器渲染页面的模式,这一切都是基于 NodeJS 在前端代码中完成。

HTML5 只是基本技能罢了。 1、nodejs相比其他后端语言,更多在于解决底层问题。意味着如果要深入nodejs领域,需要吃透诸如网络协议等学校里面的知识,大家还记得多少?

2、在应用层方面,比较流行的框架是express。express还年轻,应用层的很多坑,它还没完全填上。你是要一边开发业务流程一边填坑?还是要一边填坑一边开发业务流程?

3、过去没有前端,世界依旧美好。后来有了前端,世界更加美好。前端是为了梳理、优化体验。富Web开发和终端开发没区别,到头来还是会独立出UI工程师专职处理UI层面的问题。

4、前端工程师是真的需要一门用Javascript语法的能在服务器常驻运行的语言?还是因为我们后端童鞋不理解我们的所需,提供不了我们所需要的,才涉猎后端。前端不是建立在CPU、内存、硬盘上,而是建立在各种API、Web服务上的。接口充分的时候,有什么是前端不能做的?

PS1:地铁作答,思路略乱
PS2:学习、个人项目,NodeJS都是不错的选择。企业项目,首先评估下你们有没值班的童鞋来随时填坑。 一个理性的web前端其实就不太适合做web前端了。

实际上看你的兴趣,如果你觉得你喜欢H5,就往H5发展。

如果你喜欢nodejs,就发展nodejs。

别思来想去考虑来考虑去的。

如果你左思右想还是拿不定主意,那么你就研究nodejs吧。

因为你的逻辑战胜了你的感性。

如果你觉得nodejs好,都不用思考就想学nodejs,这种感性的思维,你更适合做H5。

如果你学习能力强,其实大可H5和nodejs一起做。

做个全栈工程师也挺好的。 不冲突吧 其实这并不冲突。
推荐阅读
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
author-avatar
润滑油一_576
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有