㈠ 什么是全栈工程师

在我看来,所谓“全栈“是一个没有确定意义的动态概念;至多说明“此人比较胜任自己目前所从事的工作,相关领域都能插上一手”罢了;一旦领域换了或者要求提高了,对“全栈”的要求自然大不相同。因此,谈论一名工程师是否“全栈”是没太大意义的:“全栈”应当是一名有追求的工程师在某个职位上对自己的要求,并不是一个头衔。

比如说我吧。最初使用PB做项目;玩着玩着,从动态界面生成、显示效率优化到数据库调优就全都能插上手了;然后,基于自己对底层知识的理解,还能用PB玩一些黑科技,实现官方没有提供支持的功能(用俺同事的话说就是“你都玩到圈外面了”)。
甚至,我还直接和客户方技术人员交流,修补了很多过去需求调研时留下的坑(被客户评价“够半个XX工程师”、“[去做他们行业的工程师] 日常问题应该没有能难倒你的了”),然后自己设计方案、制定计划并成功完成;之后这个软件才通过客户验收。
你看,从需求调研到方案设计;从数据库设计到网络通信协议制定再到后台逻辑、软件界面……这差不多算全栈了吧?

后来用C/C++做项目,然后就知道了内存屏障、cache、分支预测,知道了模板推导、编译期计算;于是开始学着去写能讨好CPU的代码……埋头底层N年,逐渐熟悉了linux环境。
于是,往下,改过linux kernel mole、挖过tcp/ip协议栈、查过各种加密/验证算法/体系的底细(不能说了如指掌,但清楚其来龙去脉、自己也亲手实现过一些核心算法);中间,玩过apache/nginx/django,用C写过cgi页面,折腾过hadoop/gluster;上层嘛,用gtk/wpf等等都写过界面,用脚本写过自动探测机器硬件然后自动裁剪linux kernel生成最小化系统的东东,用python+django实现过自己的oauth2页面(当时oauth2刚刚推出,还没有现成实现可用)……
从kernel一口气玩到web页面,从C折腾到js……随便哪个环节都能掺乎进去,也都搞出过商业软件。按照定义,这似乎也勉强能算“全栈”吧?

这个“全栈”和当初的“全栈”,含金量是否一样?

样样行,样样怂?您可千万别这样表扬我。
“样样怂“这个评价可谓恰如其分;”样样行“可实在是愧不敢当。

在我看来,所谓“全栈”,大概就是“自以为已经在自己所能接触领域的各个地方都留下过爪印”吧。
很遗憾。虽然的确经常自我膨胀;但有一点很清楚:我从未做到过“在所有地方都留下爪印”。各种意想不到的细节且不提它;比如各种加密算法背后的数学原理及其证明,其上覆盖的淤泥太深太硬:既然根本没有能力去挖掘它,凭什么在那里留下爪印呢?

更重要的是,很多地方我甚至都不知道其存在。
一旦跳出自己所熟悉的井口、被新鲜事物糊到脸上……所谓“全栈”就是个笑话。

所以,成为一个全栈工程师的体验就是:这只青蛙又进入了新一轮的膨胀周期,现在它迫切需要一块分量十足的“醒工砖”,否则很可能就要被困死在熟悉的井底了

㈡ 目前全栈工程师常用的软件有哪些

全栈工程师,也叫全端工程师,是指掌握多种技能,并能利用多种技能独立完成产品的人。全栈工程师熟悉多种开发语言,同时具备前端和后台开发能力,从需求分析,原型设计到产品开发,测试,部署,发布全流程都十分熟悉。

全栈工程师由于经常研究各种技术,他不会精确记得所有语言代码的语法和API,他觉得没有Google和网络,几乎没法工作。他记的只是一个Key,一个如何找寻答案的索引,而不是全部,人脑不是电脑,他不可能记下所有的东西。

对全栈工程师而言,各种辅助工具是十分重要的。全栈工程师更多的工作不是造轮子,而是用各种轮子组合造产品。下边就向大家推荐几类工具,希望对大家有帮助。这里边主要推荐以下工具:需求分析工具、原型设计工具、代码检查工具、自动化测试工具、部署工具,最后还会给大家介绍一款大多数全栈工程师最近都在使用的端到端全流程的开发神器。

需求分析工具

XMind

XMind是一种实用的思维导图工具。 思维导图是一种将思维形象化的方法。它可用来作为管理项目、笔记或知识库,也可以用来头脑风暴,记录思路,整理软件产品功能和需求等等。

Visio

visio是一款便于开发和设计人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。帮助我们创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。

StarUML

StarUML是一套盛开源码的软件,不但免费自由下载,连代码都免费盛开。StarUML可描摹9款UML图:用例图、类图、序列图、事态图、行动图、通信图、模块图、安排图以及复合构造图等。

原型设计工具

Axure

Axure能帮助需求设计者,迅捷而轻便的创立基于目录组织的原型文档、功能解释、交互界面以及带注释的wireframe网页,并可积极生成用于演示的网页文件和word文档,以供给演示与开发。

Omni Graffle

Omni Graffle软件由Omni Group公司出品,可以在OS X平台上轻松绘制漂亮的图表、树状结构图、流程图、页面等,可以用来规划电影或剧本的情节走向、绘制公司组织图、专案进度等等。该软件界面非常漂亮,模板丰富精致,容易激发灵感,辅助对齐和尺寸调整功能强大。目前还推出了iPad版本的应用。

代码检查工具

CodeReviewer

CodeReviewer是一款免费的、简单的又易于部署和使用的代码审查工具,由SmartBear开发——也是Collaborator的发明者,业界第一家推出商用代码审查工具的公司。

SmartBear

SmartBear是一个有助于团队通过共同的开发、测试和管理工作以便能生产出高质量代码的代码审查工具。

Crucible

Crucible是另一款超级受开发人员欢迎的代码审查工具,可以审查代码、讨论修改,通过Crucible灵敏的审阅流程来确定缺陷。

自动化测试工具

QTP

QTP是一种自动测试工具,主要是用于回归测试和测试同一软件的新版本。QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。

Selenium

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite、Google Chrome等。这个工具的主要功能包括:测试与浏览器的兼容性,测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能,创建回归测试检验软件功能和用户需求。

部署工具

Ansible

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

Salt

Saltstack是一个大型分布式的配置管理系统(安装升级卸载软件,检测环境),也是一个远程命令执行系统。saltstack的两大功能:远程执行和配置管理。

Puppet

puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。

神器推荐:DevCloud

之所以说DevCloud(华为软件开发云)是全栈工程师的开发神器,是因为它可以提供软件开发全流程的工具,随时随地在云端进行项目管理、配置管理、代码检查、编译、构建、测试、部署、发布等。这些功能让工程师能够把精力集中于产品的设计和研发,而不需要自己维护各类工具。而且华为在这个产品上开放了多年的研发经验,让工程师的开发过程更标准化,从而进一步提升开发效率和产品质量。

目前华为软件开发云对于5人+500M以内是免费的。

总结

技术快速更新迭代,各种辅助工具也层出不穷,眼花缭乱。我们不需要面面俱到,在每个流程深入用好一个工具,就可以帮助我们提升我们的开发效率。希望越来越多的工程师加入全栈工程师的阵营,体会全栈工程师的乐趣。也希望大家可以多多沟通交流,寻找出更多的好工具。

㈢ 什么是全栈开发者

全栈开发者本身是音译过来的,叫做Full Stack Developer,本意指的应该是“全能开发者”,通俗点说就是自己能搞定一套系统(C/S,B/S,App等)
目前所指的全栈开发者/全栈工程师,通常指的是Web开发中的前后端都会的开发者。即自己能搞定前端部分(html+CSS+Javascript等),又能结合后端部分(如PHP+MySQL等),同时还能自己管理好服务器(LAMP/LNMP+网站优化等)
全栈开发者的优缺点:
1、优点
① 技术面全面:请注意用词是技术面,即了解的多,但是并非全部精通。广度和深度是一个一直被讨论的话题,都有好处,也都有缺点。所以仁者见仁智者见智。
② 涉猎广泛:便于做产品设计、团队管理等
③ 节省成本,反倒薪资高:社会上绝大部分企业是中小企业,而中小企业肯定都愿意去节省成本,如果有一个全栈开发者能够搞定设计工程师+前端工程师+后端工程师+运维工程师,那么公司肯定也愿意多花点钱给一个人
2、缺点
① 广而不专:所以在精细化和深度设计上肯定是存在短板的
② 精力有限:网上有人用词叫做“样样行”==“样样怂”,一个人到底是没有那么多精力去钻研各个方面的,而且自我的调度也存在一些问题。
3、总结
这个社会现状就是活到老学到老,而且艺多不压身。今天的铁饭碗明天说不定一文不值,在能看到未来的行业里,做专;在自己不清楚未来如何时,做多。多一些学习,多一些专业,也是给明天的自己多一分保障。

㈣ 未来软件行业会是全栈工程师的天下吗

全栈工程师,也可以叫全端工程师,无论是前端知识,还是后端架构你都要了解。甚至有些调皮的程序员这样理解全栈工程师:全栈工程师=屌丝战斗机=系统+网络+研发+dba+架构+安全=没女朋友、拿一份工资做三份事情的典型、每个站长都是一个全栈工程师,每个站群的站长都是超级全栈工程师。
看上面说的和时代的发展真有可能哦。

㈤ 为什么要使用HTML5全栈开发去开发app

因为html5的跨平台能力强,一套程序可以在多个平台上直接运行

㈥ 目前全栈工程师常用的软件有哪些

全栈工程师,也叫全端工程师,是指掌握多种技能,并能利用多种技能独立完成产品的人。全栈工程师熟悉多种开发语言,同时具备前端和后台开发能力,从需求分析,原型设计到产品开发,测试,部署,发布全流程都十分熟悉。

一、全栈工程师由于经常研究各种技术,他不会精确记得所有语言代码的语法和API,他觉得没有Google和网络,几乎没法工作。他记的只是一个Key,一个如何找寻答案的索引,而不是全部,人脑不是电脑,他不可能记下所有的东西。

二、对全栈工程师而言,各种辅助工具是十分重要的。全栈工程师更多的工作不是造轮子,而是用各种轮子组合造产品。下边就向大家推荐几类工具,希望对大家有帮助。这里边主要推荐以下工具:需求分析工具、原型设计工具、代码检查工具、自动化测试工具、部署工具,最后还会给大家介绍一款大多数全栈工程师最近都在使用的端到端全流程的开发神器。

三、需求分析工具

  1. XMind,XMind是一种实用的思维导图工具。 思维导图是一种将思维形象化的方法。它可用来作为管理项目、笔记或知识库,也可以用来头脑风暴,记录思路,整理软件产品功能和需求等等。

  2. Visio,visio是一款便于开发和设计人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。帮助我们创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。

  3. StarUML,StarUML是一套盛开源码的软件,不但免费自由下载,连代码都免费盛开。StarUML可描摹9款UML图:用例图、类图、序列图、事态图、行动图、通信图、模块图、安排图以及复合构造图等。

四、原型设计工具

  1. Axure,Axure能帮助需求设计者,迅捷而轻便的创立基于目录组织的原型文档、功能解释、交互界面以及带注释的wireframe网页,并可积极生成用于演示的网页文件和word文档,以供给演示与开发。

  2. Omni Graffle,Omni Graffle软件由Omni Group公司出品,可以在OS X平台上轻松绘制漂亮的图表、树状结构图、流程图、页面等,可以用来规划电影或剧本的情节走向、绘制公司组织图、专案进度等等。该软件界面非常漂亮,模板丰富精致,容易激发灵感,辅助对齐和尺寸调整功能强大。目前还推出了iPad版本的应用。

五、代码检查工具

  1. CodeReviewer,CodeReviewer是一款免费的、简单的又易于部署和使用的代码审查工具,由SmartBear开发——也是Collaborator的发明者,业界第一家推出商用代码审查工具的公司。

  2. SmartBear,SmartBear是一个有助于团队通过共同的开发、测试和管理工作以便能生产出高质量代码的代码审查工具。

  3. Crucible,Crucible是另一款超级受开发人员欢迎的代码审查工具,可以审查代码、讨论修改,通过Crucible灵敏的审阅流程来确定缺陷。

六、自动化测试工具

  1. QTP,QTP是一种自动测试工具,主要是用于回归测试和测试同一软件的新版本。QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。

  2. Selenium,Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite、Google Chrome等。这个工具的主要功能包括:测试与浏览器的兼容性,测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能,创建回归测试检验软件功能和用户需求。

七、部署工具

  1. Ansible,ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

  2. Salt,Saltstack是一个大型分布式的配置管理系统(安装升级卸载软件,检测环境),也是一个远程命令执行系统。saltstack的两大功能:远程执行和配置管理。

  3. Puppet,puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。

  4. 神器推荐:DevCloud,之所以说DevCloud(华为软件开发云)是全栈工程师的开发神器,是因为它可以提供软件开发全流程的工具,随时随地在云端进行项目管理、配置管理、代码检查、编译、构建、测试、部署、发布等。这些功能让工程师能够把精力集中于产品的设计和研发,而不需要自己维护各类工具。而且华为在这个产品上开放了多年的研发经验,让工程师的开发过程更标准化,从而进一步提升开发效率和产品质量。

  5. 目前华为软件开发云对于5人+500M以内是免费的。

总结:技术快速更新迭代,各种辅助工具也层出不穷,眼花缭乱。我们不需要面面俱到,在每个流程深入用好一个工具,就可以帮助我们提升我们的开发效率。希望越来越多的工程师加入全栈工程师的阵营,体会全栈工程师的乐趣。也希望大家可以多多沟通交流,寻找出更多的好工具。

㈦ H5全栈开发去开发app你是怎么考虑的

随着互联网的高速发展,软件行业更加火爆,几乎高薪职位都与软件行业挂勾,程序员成了高专薪的标志。属HTML5作为近几年非常火的软件开发语言,更是得到了多人一致的好评和青睐。既然HTML5这么火,学习这门课程当然前景更可观。
只要努力学到真东西,前途自然不会差。如果你想学好HTML5开发语言,应该根据自己的实际需求去实地看一下,郑州离洛阳非常近,可以考虑先去试听之后,再选择比较适合自己的,希望能给你带去帮助。

㈧ 软件开发中,什么叫全栈工程师

前台.. 后台.. 设计都会做.

㈨ 什么是全栈工程师

全栈工程师是指掌握多种技能,并能利用多种技能独立完成产品的人。

现代项目的开发,需要掌握多种技术。互联网项目,需要用到后端开发、前端开发、界面设计、产品设计、数据库、各种移动客户端、三屏兼容、restFul API设计和OAuth等等,比较前卫的项目,还会用到Single Page Application、Web Socket、HTML5/CSS3这些技术以及像第三方开发像微信公众号微博应用等等。

Web前端也远远不是从前的切个图用个jQuery上个AJAX兼容各种浏览器那么简单了。现代的Web前端,你需要用到模块化开发、多屏兼容、MVC,各种复杂的交互与优化,甚至你需要用到Node.js来协助前端的开发。

(9)app全栈扩展阅读

对于创业公司来说,全栈工程师的价值是非常大的,创业公司不可能像大公司一样,各方面的人才都有。所以需要一个多面手,各种活都能一肩挑,独挡多面的万金油。

对于创业公司,不可能说DBA前端后端客户端各种人才全都备齐了,很多工作请人又不饱和,不请人又没法做,外包又不放心质量,所以全栈工程师是省钱的一妙招。虽然说全栈工程师工资会比一般的工程师会高很多,但综合下来,成本会低很多。

项目越大,沟通成本越高,做过项目管理的都知道,项目中的人力是1+1<2的,人越多效率越低。因为沟通是需要成本的,不同技术的人各说各话,前端和后端是一定会掐架的。每个人都会为自己的利益而战,毫不为己的人是不存在的。

而全栈工程师的沟通成本几乎为零,因为各种技术都懂,胸有成竹,自己就全做了。即使是在团队协作中,与不同技术人员的沟通也会容易得多,让一个后端和一个前端去沟通,那完全是鸡同鸭讲,更不用说设计师与后端了。

但如果有一个人懂产品懂设计懂前端懂后端,那沟通的结果显然不一样,因为他们讲的,彼此都能听得懂。