想从事java方向职业。问一下,要想成为大型企业级无线路由器B/S应用开发的行家。编程语言方面要掌握哪些类别

创建人: | 创建时间: | 所属分类:
(1)java基础;接口;反射及高级特性
(2)jdbc,oracle,html5,css,javascript,jsp,Ajax,jQuery
(3)struts2,spring,spring mvc,hibernate,mybatis等
B/S架构技术的特点
本文行家:
(1)具有分布性特点,可以随时进行查询、浏览等业务处理。(2)业务扩展方便,通过服务器端增加程序就行。(3)维护升级简单,只在服务器端更改程序。(4)客户端硬件要求低。(II)缺点
(1)个性化特点不明显。(2)数据传输速度降低。(3)服务器端负担比较重,性能要求高。(4)数据安全性不如C/S架构高。
长期从事java开发的向往美好生活的码农。
百科的文章(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。如需转载,请注明来源于。JAVA语言到底有哪些方面的用途?_百度知道
JAVA语言到底有哪些方面的用途?
JAVA有很多方面的用途:Java语言是跨平台的,Write Once,Run Anywhere是Java的一句口号,学Application编程,可以在计算机上写程序,学Applet可以在网页上嵌入小程序,学J2ME,可以在手机上运行程序,到处都有Java的影子了。。。大体分为三个版本j2me面向嵌入式开发比如手机程序,j2se标准版中小型软件应该是多用于c/s结构,也是学习java的最好开始;j2ee面向大型企业系统,综合了很多技术。简单来说可以做游戏软件,聊天工具,web开发等等。如果是学习JAVA,可以 做相关的工作,比如android编程。同样如果有了JAVA的开发经验,学其它的语言会很快, 这样就可以找相关的工作了。
其他类似问题
为您推荐:
主要有c/sb/s还有就是手机上的应用。c/s就是客户端/服务器程序,比如:qq游戏,需要使用java来做客户端,服务器使用数据库。b/s就是浏览器/服务器程序,就是用java语法实现网站,这个就是javaee的技术还有就是使用java编程手机上的应用,j2me,现在还有一个比较火的就是java可以用来编写android应用程序及游戏。
其他2条回答
要看你在什么条件下用了?无聊时,写JAVA代码可以打发时间工作时,写JAVA代码可以挣钱泡MM时,写JAVA代码一般不能成功老婆说话时,写JAVA代码必死无疑当然,也可以做像eclipse这样的桌面系统,还可以做网页程序
将来学好了可以挣钱
java语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁1.B/S与C/S的定义1.1C/S结构C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Serve
1. B/S与C/S的定义
1.1 C/S结构
C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用,而且代价高,效率低。
1.2 B/S结构
B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
1.3 管理软件主流技术
管理软件技术的主流技术与管理思想一样,也经历了三个发展时期。首先,界面技术从上世纪DOS字符界面到Windows图形界面(或图形用户界面GUI),直至Browser浏览器界面三个不同的发展时期。其次,今天所有电脑的浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软件其风格都是一样的,使用人对操作培训的要求不高,而且软件可操作性强,易于识别;再者,平台体系结构也从过去单用户发展到今天的文件/服务器(F/S)体系、客户机/服务器(C/S)体系和浏览器/服务器(B/S)体系。
2. C/S、B/S软件技术上的比较
2.1 数据安全性比较
由于C/S结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒、黑客等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,C/S结构的软件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点上的数据安全都影响了整个应用的数据安全。所以,对于集团级的大型应用来讲,C/S结构软件的安全性是令人无法接受的。对于B/S结构的软件来讲,由于其数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以这些安全问题也就自然不存在了。
2.2 数据一致性比较
在C/S结构软件的解决方案里,对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行数据同步的模式。这些服务器每天必须同步完毕之后,总部才可得到最终的数据。由于局部网络故障造成个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上的数据,数据永远无法一致,不能用于决策。对于B/S结构的软件来讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。
2.3 数据实时性比较
在集团级应用里,C/S结构不可能随时随地看到当前业务的发生情况,看到的都是事后数据;而B/S结构则不同,它可以实时看到当前发生的所有业务,方便了快速决策,有效地避免了企业损失。
2.4 数据溯源性比较
由于B/S结构的数据是集中存放的,所以总公司可以直接追溯到各级分支机构(分公司、门店)的原始业务单据,也就是说看到的结果可溯源。大部分C/S结构的软件则不同,为了减少数据通信量,仅仅上传中间报表数据,在总部不可能查到各分支机构(分公司、门店)的原始单据。
2.5 服务响应及时性比较
企业的业务流程、业务模式不是一成不变的,随着企业不断发展,必然会不断调整。软件供应商提供的软件也不是完美无缺的,所以,对已经部署的软件产品进行维护、升级是正常的。C/S结构软件,由于其应用是分布的,需要对每一个使用节点进行程序安装,所以,即使非常小的程序缺陷都需要很长的重新部署时间,重新部署时,为了保证各程序版本的一致性,必须暂停一切业务进行更新(即“休克更新”),其服务响应时间基本不可忍受。而B/S结构的软件不同,其应用都集中于总部服务器上,各应用结点并没有任何程序,一个地方更新则全部应用程序更新,可以做到快速服务响应。
2.6 网络应用限制比较
C/S结构软件仅适用于局域网内部用户或宽带用户(1兆以上);而B/S结构软件可以适用于任何网络结构(包括28.8K拨号入网方式),特别适于宽带不能到达的地方。
3. C/S、B/S软件商业运用上的比较
管理软件是为企业服务的,企业选用管理软件不仅要从技术上考虑,还要从商业运用方面来考虑,下文将从商业运用的角度对两种结构的软件进行比较。
3.1 投入成本比较
B/S结构软件单从软件成本上来看,一般只有初期一次性投入成本。对于集团来讲,有利于软件项目控制和避免IT黑洞,而C/S结构的软件则不同,随着应用范围的扩大,投资会连绵不绝。
3.2 硬件投资保护比较
在对已有硬件投资的保护方面,两种结构也是完全不同的。当应用范围扩大,系统负载上升时,C/S结构软件的一般解决方案是购买更高级的中央服务器,原服务器放弃不用,这是由于C/S软件的两层结构造成的,这类软件的服务器程序必须部署在一台计算机上;而B/S结构则不同,随着服务器负载的增加,可以平滑地增加服务器的个数,然后在各个服务器之间做负载均衡。有效地保护了原有硬件投资。
3.3 企业快速扩张支持上的比较
对于成长中的企业,快速扩张是它的显著特点。例如有些商业公司,每年都有新的配送中心成立,每月都有新的门店开张。应用软件的快速部署,是企业快速扩张的必要保障。对于C/S结构的软件来讲,由于必须同时安装服务器和客户端、建设机房、招聘专业管理人员等,所以无法适应企业快速扩张的特点。而B/S结构软件,只需一次安装,以后只需设立账号、培训即可。
其次,随着软件应用的扩张,对系统维护人才的需求有可能成为企业快速扩张的制约瓶颈。如果企业开店上百家,对计算机专业人才的需求就将是企业面临的巨大挑战之一。
抛开人力成本不说,一个企业要招到这么多的专业人才并且留住他们也是不可能的。所以,采用C/S结构软件必然会制约企业未来的发展。另外,大多数C/S结构的软件都是通过ODBC直接连到数据库的,安全性差不说,其用户数也是受限的。每个连到数据库的用户都会保持一个ODBC连接,都会一直占用中央服务器的资源,对中央服务器的要求非常高,使得用户扩充受到极大的限制。而B/S结构软件则不同,所有的用户都是通过一个JDBC连接缓冲池连接到数据库的,用户并不保持对数据库的连接,用户数基本上是无限的。
4. 从C/S到B/S,软件开发模式的变迁
上个世纪后期,C/S结构是最为流行的软件系统体系结构。但是,自从Internet诞生之后,更多的软件应用系统体系结构开始向B/S结构转变。
在C/S结构下,大多数的企业管理软件,采用的均是传统开发工具Visual Basic(VB)和Delphi代码,或者是Power Builder(PB)代码,即第四代语言代码。
随着Internet时代的到来,大多数的管理软件开始转向B/S结构。如何从C/S平稳过渡到B/S,之前并没有更好的解决方案,大多数的企业开始彻底放弃VB、PB开发的代码,转而采用C/S结构下的Java语言重新来写。虽然不会出现问题,但是需要重新投入资本、人力,甚至需要增加更多的培训机会。
4.1 代码移植的演变
在20世纪70和80年代,代码移植最主要的目的是将程序移植到不同的系统环境下运行?D主要是处理器和操作系统。由于市场上的硬件和操作系统呈现多样化和均衡化的状态,因此,一个重要的程序往往需要考虑两个甚至更多的系统环境。
1990年,Windows 3.0发布。基于窗口、按钮、图标和鼠标的图形界面(GUI),迅速征服了全世界个人计算机用户。将原有DOS字符模式下的应用程序移植到GUI环境,成为众多用户和软件开发商的迫切需求。可视化编程逐渐成为GUI下,软件开发的主流。
在4GL(第四代语言)开始大行其道之后,新一轮代码移植的潮流再度兴起。此时的重点是将结构化逻辑在GUI下实现,把过去结构化代码中的制作界面部分剥离,并把逻辑部分附着在各个对象事件之中,通过操纵对象行为,完成整个应用的代码移植。
4.2 可视化编程在Web时代的瓶颈
但是,Internet的飞速发展给4GL编写的GUI程序提出了新的挑战。这些程序大都基于C/S结构下,这种模式在局域网里将应用一分为二,服务器负责数据管理,客户机完成与用户的交互任务。C/S结构下软件具有强壮的数据操纵和事务处理能力,以及数据的安全性和完整性约束。但随着企业规模的日益扩大,应用程序的复杂程度不断提高,C/S结构逐渐暴露出了缺点。比如开发成本较高,用户界面风格不一、使用繁杂、不利于推广使用,维护复杂、升级麻烦等。
为了解决C/S结构的不足,基于Internet的B/S技术应运而生,它是有计算技术以来最稳定的技术平台。本质上B/S也是一种客户机技术,用户只需通过浏览器这个统一界面,就可享受到无限丰富的、永远在不断变化和发展着的信息服务。而通过这种结构,原则上取消了管理员所有在客户机端的维护工作。
在C/S向B/S转移的过程中,开发者遇到了极大的困难。因为代码的移植已经不再是过去的简单语法转换,而牵涉到各种对象的映射。
在结构化编码时代里,无论是对一种语言不同方言之间的移植,如从Turbo C到GNU C,还是对不同的高级语言之间的移植,如Turbo Pascal到Turbo C,源语言和目标语言均遵循着相同的结构。源代码的转换,更多的是基于一个标识符对照表来完成。
使用4GL开发的C/S程序是对象的集合,代码从属于对象。在相同或者类似的界面下,不同开发工具使用的对象,提供给开发者的接口可能完全不同。如果使用Java或者.NET重写原有C/S程序,意味着开发者必须将界面上所有元素逐个将其属性、参数表、事件用新的开发工具重新编写。
4.3 难越的自动化迁移之路
不管网络泡沫如何演变,Internet始终是难掩的潮流。在国外软件市场,大多数大型企业管理软件已经是B/S结构,或者正处于C/S结构向B/S结构的过渡时期。国内的大多数软件企业也已经开始向B/S结构转变。B/S结构下的大型管理软件,势必是未来几年内,管理软件市场的主流软件。
要解决现有C/S应用低成本、快速移植到B/S结构下的应用的困境,则必须要解决自动且精确的GUI移植、自动的语法逻辑移植、方便的服务器端调试和发布。
5. 海心的B/S之路
从以上的分析可以看出,B/S结构的大型管理软件有着C/S结构软件无法比拟的优势。而从国外的发展趋势来看,也验证了这一点。目前,国外大型企业管理软件要么已经是B/S结构的,要么正在经历从C/S到B/S结构的转变。从国内诸多软件厂商积极投入开发B/S结构软件的趋势来看,B/S结构的大型管理软件势必在将来的几年内占据管理软件领域的主导地位。
同国内外的众多软件供应商一样,海心计算机的软件产品也经历了一个从C/S到B/S的过渡。从软件的开发模式来看,海心计算机的软件开发大致经历了四个时期,分别是C/S结构、B/S+C/S结构、B/S结构、WEB2.0。
5.1 C/S结构
海心计算机的早期软件产品都是C/S结构的,这个时期大约是在2002年以前。公司成立的初期,正是第四代语言大行其道的时期,那个时期的系统开发以Visual Basic(VB)、Delphi和Power Builder(PB)等工具为主流,奉行GUI下的可视化编程。
比如我们开发的物业管理软件,从1.0版本到4.0版本都是以Delphi作为开发工具的,开发结构自然是C/S的。这样的开发模式,造成的后果就是维护量大,我们专门成立了售后队伍,每天奔走在客户的使用现场,解决用户使用过程中产生的各种问题。并不是我们开发的软件可维护性差,也不是程序不稳定和经常出问题,其最直接的原因,就是软件的结构是C/S的。用户总是有各种各样的问题出现,等着我们去解决。
在商业上的推广,也由于这个原因,导致我们的系统只能在近距离内销售,很难推广到更广阔的地区,因为差旅费用比较高。对于一个刚刚成立不久的公司来讲,负担是比较重的,也成为企业成长的一个瓶颈。
5.2 B/S+C/S结构
但是,在2004年以前,整个社会的网络环境还不是那么好,不是所有的用户都能够登录互联网。用户对于系统在互联网上应用,也存在一个认识的问题,达不到这么高的理解程度。将所有的软件系统发布在互联网上应用,还不是很现实的问题。针对这个情况,我们推出了B/S+C/S结构的模式。
对于一套系统,开发B/S和C/S两套程序。B/S的程序,发布在互联网上,供有条件连通互联网的用户使用。而没有条件连通互联网的用户,使用C/S机构的客户端程序。两套程序的数据交互,使用自行开发的基于SOCKET的数据传输工具。客户端连接数据库服务器,使用电话拨号等方式。
这样的一种方式,表面上看解决了用户的现场使用的实际状况,但是从其他方面分析,还是存在一定的问题。一方面,从上面的讲解中我们也可以了解到,客户端的数据很难做到实时传输,只能等待某个时间进行传输。并且,为了解决数据传输量的问题,尽量减少数据的传输量,所传输的数据基本上都是一些中间的报表数据,并不能解决企业应用中对数据量的真正需求。另一方面,对客户端程序的维护工作依然存在,系统维护人员还是需要到用户的现场去解决问题。
5.3 B/S结构
从2005开始,整个国内的互联网环境越来越好,大部分的用户都能够实现对互联网的连接。同时,用户对系统在互联网上应用的认识程度也达到了一定的高度,基本认同这种使用方式。基于这种现状,开发完全的B/S结构的程序,已经具备了现实的条件。
这个时期,我们开发的系统,主要是B/S结构的。例如,我们在2005年开发的办公自动化系统,就是纯B/S结构。这种开发的模式,系统的使用效果非常好。减少了系统的维护工作量,用户需要解决的问题,只要发布一次就能够得到解决,解决问题能够做到及时快速。
这个时期,也是公司发展比较快的一个阶段,这也得益于互联网的发展。
5.4 WEB2.0
2007年之前,虽然我们做到了B/S系统的开发,但是,在技术上还是国内众多厂商中普通的一员,技术上没有领先的地方。针对这个情况,从2006年下半年,我们开始着手研究自己的基础平台架构。
这个平台的研发,由公司的技术总监孙博士带队。主要的技术方向在业界领先的WEB2.0方面,侧重于Ajax、xml等的应用,主要解决工作流引擎、报表引擎、表单引擎、消息服务、大数据量处理等的技术问题。到2007年初,基础平台的研发工作取得了很大的成果,形成了自己的基础平台架构。公司在技术方面的优势得到了很大的提升,在国内的众多软件厂商中,技术水平可以说是一流的。
目前,我们正在实施的哈尔滨物业供热集团的营销收费管理信息系统就是采用了我们自主研发的基础平台架构。从目前的情况来看,实施的效果非常好,基础平台架构的作用在其中占非常重要的地位。
注:本文部分内容源自:【IT168软件评论】。
大连海心计算机有限公司
相关热词搜索:
频道总排行
频道本月排行JAVA软件开发的一些问题 急!_百度知道
JAVA软件开发的一些问题 急!
我想问一下
就JAVA软件开发这一块的就业职业前景怎么样 包括薪水等
要详细 重赏
1、关于就业前景首先,我个人也是从事Java语言方面的开发的,终观Java十几年来在编程语言的排行榜上,都是位于前3的热门度,及我个人这几年就业总结来看,可以很肯定的告诉你:Java语言开发的就业前景相当明朗,可以这么说,只要你学得还不错,工作完全不是问题,而是接下来我们要的说薪水问题。 2、关于薪水这个不能一概而论,得分地区、具体从事Java哪个分支的开发及个人能力背景等。众所周知,Java有三个分支:Javase、Javaee、Javame。不同分支可能薪水及就业情况有所不同。相当其他两个分支,Javaee的就业率是最高的。至于薪水,我以个人为例,简要说说二线以上的城市的情况。一般情况下: 工作经验
android开发
8k-15k 当然,如果个人能力过于突出,自身硬件条件也不错,不局限于该范围。另外,工作年限越长,工资也会越高,故5年以上的,我就不列出来了,也没有个定论。 以上只是针对开发而言。 有问题欢迎提问,满意请采纳!
来自团队:
其他类似问题
为您推荐:
其他4条回答
因为本人也是从事java的,所以为你推荐下面的一些数据,统计的还是挺全的。
你可以在道客巴巴里面搜索:
软件开发就业前景分析
这一篇文章分析的挺好的。
其中对java的分析是这样写的:
java就业前景分析
据有关数据显示,目前,我国对软件人才的需求已达20万,并且以每年20%左右的速度增长。在未来5年内,合格软件人才的需求将远大于供给。2010年,我国软件人才的缺口已达43.5万,其中尤以JAVA人才最为缺乏。当前世界各地持有Java Programmer证书的人员供需差距极大,迫使企业不得不用高薪聘请Java程序员。因此,Java Programmer的含金量比一般的技术人员要高出很大一块。在美国、加拿大、澳大利亚、新加坡等发达国家和中等发达国家,持有Java Programmer认证证书的人年薪均在4-10万美金,而在国内持有J...
目前来讲JavaEE开发的比较多,在国企顶多充当一个码农的地位,还需要别人介绍,工资在徘徊,Android开发也限制领域,移动、电信、华为之类的名企有关系就能进,老员工待遇还不错的,ERP行业和SEO优化至少在国内工资不咋滴都是把你当码农用,他们自己早就开发好了第三方控件,销售者受益,开发者落伍。一般大型企业Java工程师主要从事Oracle数据库开发工作,和一个网管一样,培训机构对Java工程师的薪水甚至都要高一点。外企现在是很多人奋斗的目标,薪水能达到几万一个月,要你对Java的掌握程度真的很精通,就不象国内企业,讲究点创新,没有基础谈何创新,而且很明显在国内Java是世界排名前列不错中国就不一定,绝大部分人在使用C#和php,外企就不一样,大部分都是使用java做内核开发。有一个最明显的...
一句话 如果你仅仅是为了钱去学JAVA
那你会很辛苦的 如果你能一直坚持下去并且能把java学精 钱不是问题 重要的是工作经验和时间 能做好的话 月薪上万还是有可能的
java软件开发,是挺大范围的工作,前景是肯定的,薪水也可以非常高!但,没法详细的介绍,因为因素太多了。比如个人能力、目标、奋斗、…………
java软件开发的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁想成为前端工程师,那么在大学期间应该如何规划?
对前端工程师这个职业非常的狂热,自己的专业偏向视频制作和动画制作这方面,但是我想走出自己的路,所以想求助下如何规划这三年。在大一的一年里,已经在html+css+js,这条路上走了起来,但总觉得自己什么都不会。求帮助。
按投票排序
前端是近几年发展起来的职业,很多人对前端的认识比较模糊,因此开篇我有必要介绍一番,前端(这里的前端是大众口中的前端)偏美工是视觉设计,前端偏用户是用户体验,前端偏目标导向是交互设计,前端偏技术才是大家口中的前端。和前端有关系的几样技术:PS,DW,FL,HTML+CSS+JS,看过很多人给前端的建议也差不多是学习这几种软件和HTML+CSS+JS等等了,不过我却觉得大家在把前端往一个误区引导。为什么呢?听我慢慢解释。先来说说和前端有联系的几个职位:前端工程师、视觉设计师、用户研究工程师、交互设计师。我用一个简单的例子来分析:我们都经常在一些社区评论留言,留言的表面过程:打开留言页面——输入留言内容——点击提交按钮——留言显示在留言列表上。我这里不解释这个过程的实现原理。---日修改---前端工程师:留言框代码怎么写?留言框的显示、一些JS动态效果的显示(可能涉及异步请求)。视觉设计师:什么样的留言框最漂亮?怎么布局?用什么色彩还是需要做一些纹理?用户研究工程师:用户怎么留言最舒服?很多人可能会和用户体验师混淆在一起,其实这两种人有着本质的区别,用户研究更侧重的是方法论,注重问卷调查访谈等等行为来了解用户的潜在行为习惯,而用户体验是一种行为,更侧重的是体验之后的实际感受。交互设计师:留言过程中的反馈?输入错误后的提示,留言成功后的反馈等等。交互设计可以理解为人机对话,交互设计侧重和用户交流之后,引导用户有效操作,比如鼠标放在超链接上字体变颜色,有title提示,用户点击超链接,我们就可以称这次交互是成功的,因此交互设计的重点在于目标向导。---修改结束---这些分工十分细微,如果留言本是一个项目的话,需要从几个不同的角度来分析留言框,一个大型的项目比如社交网站、门户网站、行业网站这些职位都必须明确分工才能把整个项目做好,但是实际上即使条理清晰在项目开展过程中还会出现诸多意想不到的问题,什么问题呢?不在本文讨论范畴。回到话题,现在你还认为你理解意义上的前端是前端吗?我以前以为前端是美工,但是后来我发现很多前端博客都在研究一个技术JS的各大框架,我更加确定前端并不是我理解意义上的前端,我更喜欢视觉设计,但是我依旧也是一个前端,所以前端是模糊的,甚至包括了一切。前端没什么不好如果你觉得前端没有前(钱)途,那我劝你干别的行业吧,如果你确定你喜欢前端,那就听听我的一些看法,当然也纯属主观臆断,你可以拍砖。逛过一些前端博客,大部分文章都是在分享JS的几大框架技术,Jquery占很多数,那其他框架呢?所以我也有个疑问,前端难道就是JS吗?最后我的答案:是的,如果你想成为纯粹意义上的前端,JS很大部分上代表了前端。程序员眼中的前端(后端程序员和前端工程师的不同)真正意义上学习编程是在大学的时候,那时候我的一个师长,他现在是Java工程师,他给我的建议是HTML+CSS随便玩玩就好了,我不太认同他的观点还是玩了很久,我并没有停留在HTML上,而是了解了更多技术,HTML是很多技术人都不耻的语言,甚至在一些人看来HTML连编程语言都不是,这个我在大学招新时候很有感触,他们觉得HTML不值钱又是小儿科的东西,连PHP他们都觉得2个小时就能上手,那HTML他们不用看就懂了,甚至在一些无知的人看来网站开发不算真正意义上的程序,因此也就不是程序员了,因为他们的眼中只有C/C++,很多前人的建议也是学编程从C开始学起,我现在再来看这种回答,真好笑,无知的人在骗无知的人罢了。尤其再看看那些人在做着二级、三级试卷,我当时就想说哥们儿你醒醒吧,但是我还是忍住了,因为他跟我无关。所以不要以程序员的思维来看待前端,前端是快乐的,不是挑战各种技术。前端的出发点也是用户(体验等等),程序员是以电脑为核心(算法等等)。千万要记住前端是以用户为出发点的,而在很多公司面试前端工程师时,只考察了前端工程师的编程技巧。如果你确定你想做一个优秀的前端,我的个人建议:首先,了解HTTP协议(HTTP 1.1),玩弄各大浏览器于鼓掌之中,你是前端工程师不要跟我说你只知道IE核心的浏览器。IE系列,Firefox,Chrome,Opera,Safari都应该是你平时常用的浏览器,我经常使用chrome,其中elements,Resources,Network,Script,....这些你了解多少?还是你从来都不知道?那赶紧去了解吧。其次,非常熟悉HTML+CSS+JS。我把学习技术放到了第二位,因为你必须首先了解整个网络,你才会更快捷和全面的了解前端技术。之前说过很多技术人都不耻学HTML,那我来解释为什么要先学HTML?先和大家一起梳理各类编程语言,大致分为了六大类:网页语言、解析型语言、混合型语言、编译型语言、汇编语言和机器语言,依次越来越苦逼,无论从用户还是开发者角度看待,越深入越不能让人理解,用户体验越差,当然开发者也是用户,所以也就能理解为什么会有PHP、Python,Ruby之类的解释型语言了。如果你只想学习好前端技术的话,只需要了解前两层的东西,也就是网页语言和解析型语言,网页语言HTML,解析型语言PHP,Python,Ruby至少要学会一种。如果你有更多的精力,你可以跳到更高层次,学习混合型语言C#或者Java,对于编译型语言C和C++如果你想做好前端工作,你可以不用懂得的。为什么前端工程师需要了解这些编程语言呢?一个WEB项目需要三种人:项目经理、前端工程师和后端程序员,他们之间需要沟通,不懂得如何沟通?如何说服?懂得能让项目进展的更顺利一些。我们回到刚才的例子——留言本,过程可以参照PHP的CGI(请求和响应等等),如果你不懂或者还是很模糊的话,我认为你还不是一个合格的前端工程师,当然你可以说你更偏向于视觉设计、用户体验之类的了。我的这种说法并不绝对,甚至如果你觉得你需要鼓励才能进步?那不好意思了,我只知道这是残酷的招聘法则,你可以去看看各公司对招聘前端的要求。最后HTML5很重要,就犹如空气,看似不存在,好似不重要,但是缺少了空气,人类就无法生存,所以HTML是根本。再次,艺术品的欣赏能力。PS、切图等等这些只是工具,工具只要经常用就会的,但是欣赏能力,或者只能说是天生的了,但是也要多培养自己的艺术欣赏能力,或者说让自己时髦起来。学会欣赏学会鉴别,其他的不多说了。最后,关注前端们都在做什么?国外的我不推荐,我觉得国外的天空没那么蔚蓝。腾讯、新浪、淘宝、网易、百度……很多公司都有前端体验中心,他们的前端博客你知道不?他们在干什么?这些你了解吗,去了解他们在干什么吧,慢慢你就能培养出你的前端嗅觉了。学会思考,自己去辨别真伪,每个人都有自己的体验,本篇文章纯属一家之言,主观臆断的说法,你可以参考并自己去验证,这也是前端工程师需要学会的东西。推荐几个大公司的UED相关方面的博客(从月光博客抠过来的,总结的蛮全的):1,淘宝UED 2,新浪UED 3,阿里巴巴UED 4,UCD大社区 5,支付宝UED:交互设计:视觉设计:用户研究:6,百度MUX 7,腾讯CDC 8,携程UED 9,百度泛用户体验 10,腾讯WSD 11,微博UDC 12,网易UEDC 13,CUED-迅雷用户体验设计中心 --- 日 续写 ---有段时间没来知乎了,今天进来一看突然发现这篇回答赞同数暴涨,吓我一跳!!!!文章是2012年年初写的,当初刚入行,瞎写了一通,改过几次,后来发现没有多少读者也就不了了之了(现在再来看内容,自己都看不下去了,我非常赞同
的观点,这篇文章其实写的很烂也很浅显)。为了对读者负责,我继续补充一些自己现在对这份职业的重新认识上文说的那些都是瞎扯淡,前端说简单些就包括几点:1. 浏览器2. 切图3. 语言4. 框架5. 项目托管6. 待不充没时间了,晚上有空回来续写.....
前端么,水浅王八多,鱼龙混杂。答主记得别被别人被博客忽悠了,多看多写多总结,慢慢积累就好了。多看文档多看源码多写代码,无非就是winter说的这三点,不需要规划也没有捷径,现在前端能做的事越来越多,找一个兴趣点深入的学下去,这三年肯定会有收获的。切记无论何时别停下脚步别觉得自己行了,牛人有的是。PS 知乎真心不适合这类问题
最主要的是动手练习和应用,最忌光看不练。等水平提高了要注重编程思想,算法和数据结构的知识是必不可少的,可以看看jquery、mootools等框架源码,如果看不懂,先从prototype框架看起,这个比较容易,最少得了解或是熟悉一门后台编程语言,像java或是php,有时间还得关注下前沿技术,如html5和移动互联网方面的信息。
半年看完上面这些书,做个项目,注重前端性能方面上的优化,最好兼顾下移动端,同时做些小项目分别应用各种最新的html5技术。能做到上述所说的话,拿到BAT的前端实习应该没有太大问题。。
先反驳楼上有位兄台说:他们一位做后台的做了一年还是只会后台。说说我的自身的体会,我也是一名写后台的,大学学了两年的后台。我的过程大致是这样的,开始学习系统编程、然后网络socket编程。这两年我不知学会了这些东西,为了学习系统编程我安装了Linux,为了方便编译程序我学了makefile,为了维护系统我学了shell、python、perl。在学习系统编程的同时我开始阅读Linux内核书籍,了解其架构。刚开始学网络编程的时候,觉得socket就是联网用的,后来深入了网络子系统才明白只是一个进程间机制。后来学会自己实现一个socket,阅读完pfring之后学会了高速数据包捕获。后来坚持读nginx代码,了解了网络服务器设计。 所以人家做了一年后台肯定学写了很多知识。我的看法是,不要拘泥学什么前段技术,拿一个非常经典的前端代码仔仔细细读完。比如jquery。欢迎牛人拍砖
先转变思路,像在职人员一样思考。假如你是一个实习生或新人,起步高点,真正出去的时候轻松点。个人看法,仅供参考。
我在另一个问题下面做了如下的回答,希望有帮助!==========================================在大公司做前端几年,突出的感受是觉得前端的细节实在是太多太丰富,总的来说,前端并不太需要工程师非常的smart但是很需要积累,解决方案更偏重细节更偏重语言特性的理解,更需要微观的考虑问题,相对后端来说更需要有一些折衷和权衡(很多时候来源于IE的存在以及在国内份额的居高不下)。前端的技术更新换代快,设备层出不穷,所以要求开发者能够不断与时俱进,多追一下新技术新设备的潮流。同时,开发者要能有眼光,敢于付出时间成本(当然永远笃信Apple设备是主流也不失为一种选择),学习再学习。从学习的层面来说,我认为需要在以下方面逐渐提高个人能力:1. 掌握HTML基本标签(div, span, table, form, input, a, style, table, tr, td, meta..)和属性(id, class, name, value, float, , 事件属性),对于大多数显示属性可以借助w3cschool来速查,了解get和post的异同。掌握CSS中的重要属性,如布局属性margin, padding,位置属性position,显示属性display——这些想必都是老生常谈。了解HTML5带来的特性如animation等。2. 深入理解JavaScript的语言特性,如JS的类和对象,闭包,prototype等。因为脚本语言的模块化较差,维护成本高,故良好的设计和统一的规范更显重要性。3. 面对浏览器兼容性,能够有能力找到浏览器的共性和不同,擅长用健壮的解决方案解决兼容性问题,通过定量分析(如浏览器的使用份额)做出产品功能性、实现优雅性和项目进度的抉择。4. 理解并掌握至少一门JavaScript library,新手不妨直接选择jQuery,简单而主流,熟练掌握library的dom selection, event handling,用jQuery的AJAX接口实现前后端通信。有余力的话,可以研习下引领潮流的Node.js。5. 从头到脚的完成一个独立域名的网站或网页,同样支持pc和mobile(有自己的app当然更好),有条件的话,了解CDN的工作。6. 深入理解client side latency的成因,能够分析出造成网站性能问题的瓶颈,擅长用行业通用方案(减少http数量,压缩下载文件的大小,lazy load,pre-cache)来解决延迟问题。能够使用数据即量化考量机制来监控网站的性能。7. 擅长借助Google和社区解决实际问题,尽量不要一次次的刷网页重试,在前端的世界里,严谨同样比猜测更重要。8. 紧追形势,培养对新设备,前端新型技术的热情。当看到一个发展方向的市场价值时可以投入课余时间,勇于做第一个吃螃蟹的人。
为什么这么早就把自己的目标领域限制得这么狭窄?
1.掌握前端基础技术HTML
CSS JavaScript
所谓掌握,我认为要了解到大部分东西在各浏览器差异、存在问题及解决方案2.前端技术的理论知识一个东西,不在于你会用就完了。举个最简单的例子,css的清除浮动,很多人只知道copy这个代码、那代码可以搞定,但却不分析原因,不知道在什么情况下用什么方式可以更好的解决。3.了解前端的其他相关知识的了解。其他js框架 http1.1协议
wpo mobile seo Flash/AS 等4.工具的使用开发工具 debug工具
偷懒用的工具等5.了解后端语言最少要到知道怎样配合工作,不然就真的是页面仔
建议把 HTML/CSS/JS 弄得越来越熟,接触一些后台的东西,也就是除了界面之外,数据和流程相关的东西,做一两个完整的项目。
再有,建议还是稍微学习一下算法和数据结构的东西,提高自己的基础编程水平,这个是万能的。
##通过为开源社区贡献代码和制作第一个关键词,GitHub,竟然没有人提到 GitHub。紧接着第二个关键词,Contribution,贡献你的代码,没有任何其他途径比给开源社区贡献代码更有利与你的成长,GitHub 上托管从各个角度实现 Web 的项目,JQuery,BootStarp,WordPress,如果你感兴趣还可以着手 NodeJS,在没有什么比找 Bug,写 Feature,Send Pull Request 能让你能熟悉你要掌握的知识,如果你有朝一日能 Contribute comfortably,你已经知道你该怎么发展。紧接着第二个关键词,Contribution,贡献你的代码,没有任何其他途径比给开源社区贡献代码更有利与你的成长,GitHub 上托管从各个角度实现 Web 的项目,JQuery,BootStarp,WordPress,如果你感兴趣还可以着手 NodeJS,在没有什么比找 Bug,写 Feature,Send Pull Request 能让你能熟悉你要掌握的知识,如果你有朝一日能 Contribute comfortably,你已经知道你该怎么发展。第三个关键词,Become an Author,到此为止,你已经按捺不住要写出点什么,表达你的设计是将那么容易,没什么比你自己的 Project 更能展现你,不只是能力。第三个关键词,Become an Author,到此为止,你已经按捺不住要写出点什么,表达你的设计是将那么容易,没什么比你自己的 Project 更能展现你,不只是能力。我是在大二下半学期开始我的 Contribution 和 Creation,我感觉自己太迟了。
技多不压身, 找项目做,才是硬道理(看书看累了,你可能觉得明天看也可以,但项目没做完,客户是不会那么痛快放过你的)
1.学习巩固基础知识,基础是最重要的。
2.要学会举一反三,不能只知道他是怎么用,要明白为什么?
3.学习原生态JS,JS库是方便你开发,原生态的JS才是王道。
4.多了解前沿的技术,前端是个很时髦的行业,所以自己必须时髦起来。
5.学好英语,爱看英文文档。
哈哈,我跟LZ反过来了,自身在学前端的知识,其实最想搞视频制作和动画制作,不过现在觉得前端也不错……但还是很羡慕那些搞动画的人
你不用去规划什么,兴趣是最好的老师,多去折腾就行了,如果说有什么建议就是尝试去做一个完整的网站。其实我大三下才开始接触html/css,之后半年倒腾过php、python(Django)、,现在由于毕业设计需要开始学习android开发。好吧,我所学专业是工业设计,一个移动互联网公司的小前端。
个人觉得前端是一个比较软的领域——与写后台不同,前端并不需要长期积累的技术知识和对工程理论的深入理解,在满足基本的功能性能要求的前提下,前端开发主要的价值体现在开发者的设计能力上。这意味着做前端会像任何”软“的领域一样,天赋、气质、眼光、品味这些看起来无从评判也没有高下可言的概念,会重要得多。对一个志在于此的大学生而言,可能你明天就会写出来一个2048,也可能把未来十年都花在研究如何让一个页面兼容IE上面。不要怕不认识某个陌生的css用法,也不要纠结于某种js框架的具体用法,把研究这些技术的时间省出来多看看书,画些画,逛逛展览,和学习编程不同,见多识广永远比啃掉几本经典技术教材来得靠谱。原因在于,相比于通常意义上的“程序员的领域”,首先前端无论对技术积累还是逻辑能力的要求都要弱得多。对html/css/js的学习都是背单词式的。一个学习能力强的人,即使是文科生,做个漂亮、专业的页面也未必需要多少功夫。的确存在需要强大代码能力的框架——但那是少数,而且就算你能胜任,总会有更专业的程序员来碾压你的。其次,前端技术的碎片化十分严重。IE有IE的标准,webkit有webkit独有的功能,chrome有chrome的特性,移动端有移动端的需求。有的支持websocket,有的只能用长连接。js框架同类的也太多。如果要深入学习与熟悉某一项,未尝不可,但前端技术少有一招鲜吃遍天的。懂得再多,不见得用得上。况且根本不知道几年后某些技术是会死掉还是更加普及。与其钻研某一项前途未卜的技术,不如放开视野,实际操作时按需学习即可。所以我认为作为大学生应该把主要精力放在大学活动上。要知道整天折腾具体细节技术是专科学校干的事情。培养自己的艺术和技术修养可能是比规划技术学习靠谱得多的事情。
html+css 最重要,如果想做web方向的话
想成为web前端工程师只学html+css+js是不够的,还有ajax、jQuery、切片这些前端技术也是要掌握的,我也是学了html+css等等,给我的感觉还是什么不会,主要是没经验,只是系统的学习了下,可以去看看麦子学院上面的web前端开发工程师_web前端开发视频教程上面有实战项目可以看,才能发现自己有哪些不足。

我要回帖

更多关于 企业级 的文章

 

随机推荐