热门标签 | 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一起做。

做个全栈工程师也挺好的。 不冲突吧 其实这并不冲突。
推荐阅读
  • Node.js 配置文件管理方法详解与最佳实践
    本文详细介绍了 Node.js 中配置文件管理的方法与最佳实践,涵盖常见的配置文件格式及其优缺点,并提供了多种实用技巧和示例代码,帮助开发者高效地管理和维护项目配置,具有较高的参考价值。 ... [详细]
  • 触发器的稳态数量分析及其应用价值
    本文对数据库中的SQL触发器进行了稳态数量的详细分析,探讨了其在实际应用中的重要价值。通过研究触发器在不同场景下的表现,揭示了其在数据完整性和业务逻辑自动化方面的关键作用。此外,还介绍了如何在Ubuntu 22.04环境下配置和使用触发器,以及在Tomcat和SQLite等平台上的具体实现方法。 ... [详细]
  • C盘无法格式化的原因及解决方法
    本文探讨了C盘无法格式化的原因,并提供了详细的解决方案,帮助用户顺利进行系统维护。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 全面解析JavaScript代码注释技巧与标准规范
    在Web前端开发中,JavaScript代码的可读性和维护性至关重要。本文将详细介绍如何有效地使用注释来提高代码的可读性,并探讨JavaScript代码注释的最佳实践和标准规范。通过合理的注释,开发者可以更好地理解和维护复杂的代码逻辑,提升团队协作效率。 ... [详细]
  • FreeBSD环境下PHP GD库安装问题的详细解决方案
    在 FreeBSD 环境下,安装 PHP GD 库时可能会遇到一些常见的问题。本文详细介绍了从配置到编译的完整步骤,包括解决依赖关系、配置选项以及常见错误的处理方法。通过这些详细的指导,开发者可以顺利地在 FreeBSD 上完成 PHP GD 库的安装,确保其正常运行。此外,本文还提供了一些优化建议,帮助提高安装过程的效率和稳定性。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • Vi编辑器的工作模式有哪些?如何在不同模式间切换?
    Vi编辑器是Linux系统中常用的文本编辑工具,具备三种主要工作模式:命令模式、插入模式和底行模式。用户可以通过特定的按键组合在这些模式之间进行切换,以实现不同的编辑功能。例如,在命令模式下,用户可以执行移动光标、删除文本等操作;而在插入模式下,则可以输入或修改文本内容。底行模式则用于执行保存文件、退出编辑器等命令。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • MongoDB核心概念与基础知识解析
    MongoDB 是一种基于分布式文件存储的非关系型数据库系统,主要采用 C++ 语言开发。本文将详细介绍 MongoDB 的核心概念和基础知识,包括其与传统 SQL 数据库的区别,数据库及集合的基本操作,如数据的插入、更新、删除和查询等。通过本文,读者可以全面了解 MongoDB 的基本功能及其应用场景。 ... [详细]
  • MongoVUE基础操作指南:轻松上手数据库管理
    本文介绍了MongoVUE的基础操作,旨在帮助用户轻松掌握数据库管理技巧。MongoVUE是一款功能强大的MongoDB客户端工具,虽然需要注册,但其用户友好的界面和丰富的功能使其成为许多开发者的首选。文中详细解释了安装步骤、基本配置以及常见操作方法,并对一些常见的问题进行了修正和补充,确保用户能够快速上手并高效使用MongoVUE进行数据库管理。 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • 如何撰写PHP电商项目的实战经验? ... [详细]
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社区 版权所有