❶ 前端开发是否有必要知道数据结构和算法
数据结构和算法是任何从事软件编程工作人员必须学会的一门课程,不管学深浅,都需要学。前端开发也是软件编程,建议一定要学一学数据结构和算法,这样有利于深层次的问题思考。
❷ 手机app前端工程师都要做什么工作
主要工作是把UI的设计图按照w3c标准做成html页面,并且用javascript脚本语言实现页面上的前端互动。互动效果包括,弹出层,页签切换,图片滚动,ajax异步互动等。
高级前端工程师还要承担前端优化的工作,优化的知识就会更多一些,比如文件过期Expires,缓存,异步缓存,js和css以及图片的压缩等。
前端开发是一项很特殊的工作,前端工程师的工作说得轻松,看似轻巧,但做起来绝对不是那么的简单。在开发过程中涵盖的东西非常宽广,既要从技术的角度来思 考界面的实现,规避技术的死角,又要从用户的角度来思考,怎样才能更好地接受技术呈现的枯燥的数据,更好的呈现信息。简单地说,它的主要职能就将网站的数 据和用户的接受更好地结合在一起,为用户呈现一个友好的数据界面。
前端工程师是一个很新的职业,在国内乃至国际上真正开始受到重视的时间不超过5年。互联网的发展速度迅猛,网页由WEB1.0到WEB2.0,再 到新生的HTML5、CSS3,到现在手机、3G网络等新科技的兴起,网页也由最原先的图文为主,到现在各种各样的基于哀前端技术实现的应用、交互和富媒 体的呈现,更多的信息、更丰富的内容、更友好的体验,已经成为网站前端开发的要求,网站的前端开发发生了翻天可覆地的变化。网站的开发对前端的需要越来越重要,但目前前端工程师需求远大于供给,前端人才非常紧缺。所以高质量的前端开发工程师将会是后五年内一个非常热门的职业,发展的前景非常可观。
❸ 前端开发是否有必要知道数据结构和算法
如果只是单纯做前端,没有。前端的核心是DOM。算法和数据结构是为了解决效率问题的,而提升前端的效率用到的概念往往仅仅是常识级别的。甚至一些流行的中小型库中都看不到任何数据结构。可以认为前端是程序员里的一个特例,一般程序员面对的是计算机,前端开发人员面对的仅仅是浏览器。如果只是关注前端,学习数据结构和算法的收益还不如去读jQuery源码。
既然前端用不上,楼主还是问到了这个问题,那就说明楼主关注的不仅仅是如何成为一个熟练的前端,而是成为一个优秀的软件工程师。网站开发之所以流行,一部分是因为开发成本低。这些节省下来的成本,一部分就是开发人员的薪水。换句话说,前端开发简单,门槛低,所以收入低,可替代性强。跳出前端这个领域,把自己放到软件工程师的队伍里,再看这个问题,答案就显而易见了。如果只是专注于前端技术,那么能解决的也仅仅是一小部分问题。
如果楼主关心的是如何更好地解决前端的问题,那么在相当长的一段路上数据结构和算法是优先级很低的。如果楼主关心的是自己的职业规划和自身素质的提升,数据结构和算法则在任何时候都是优先级最高的。
❹ 什么是前端,后端,终端,有什么区别
简单地说,前端就是你在浏览网页app看到的一切东西,都是前端。后端就是程序员在背后做的一切努力,对数据等东西的处理。而终端就是你使用来浏览这些东西的设备。
展开来说的话,就比较长。
前端:
前端就是展现给用户浏览的部分。我们通常说的前端,其实是指前端开发,也就是创建PC端或移动端等前端界面给用户的过程,通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。前端开发是从网页制作演变而来。早期的网页制作主要内容都是静态的,以文字图片为主,用户使用网站也以浏览为主。随着互联网的发展,现代网页更加美观,交互效果显着,功能更加强大。因此现在的前端开发的主要技术通常是指html、css、js技术和一些开发框架的使用。大家熟知的Facebook就是Web前端技术的产物,完全基于前端框架打造出来的平台。另外,外卖平台饿了么旗下的部分产品也是基于Web前端技术的。像淘宝,网络,阿里等等,都已经将Web前端技术打入到了自己的产品中。
后端:
为了让服务器、应用、数据库能够彼此交互,后端工程师需要具有用于应用构建的服务器端语言,数据相关工具,PHP框架,版本控制工具,还要熟练使用 Linux 作为开发和部署环境。后端开发者使用这些工具编写干净、可移植、具有良好文档支持的代码来创建或更新 Web 应用。但在写代码之前,他们需要与客户沟通,了解其实际需求并转化为技术目标,制定最有效且精简的方案来进行实现。
终端:
“终端”即是指最后或最外层的节点。在计算机世界里一般指最外层的输入输出。那什么是计算机的输入输出?最常见的输出设备就是显示器、最常见的输入设备就是键盘鼠标。所以通俗来说,计算机的终端就是位于最外层的显示器、键盘或鼠标。
在过去(现在也有)因为计算机资源非常宝贵,经常一台高性能主机向多台终端设备提供计算能力。即终端设备通过键盘鼠标向中心主机输入信息,中心主机计算后将结果返回给终端进行显示。终端本身不具备核心计算能力,主要就负责数据的输入和输出,这就是“终端”。
现代我们管很多设备叫终端机,比如手机。因为手机作为接打电话的终端负责声音的输入和输出,而重要的信号处理工作由各个基站等设备完成。
❺ 算法在前端开发的中实际应用有哪些
如果是游戏前端,算法很重要。。。比如角色寻路,主要就是使用A*算法,怪物的AI,通常需要使用树相关的算法,比如二叉树,行为树等。。。如果是APP或网页前端,实际工作中,需要使用算法的概率几乎是零。。
❻ 前端程序员需要很多算法吗
前端?是指网页前端还是游戏前端?如果是页端,就不一定,看做的项目,但如果是游戏前端,就需要用到很多算法了,寻路算法,碰撞检测算法之类都是必须的
❼ 前端需要计算题吗
算法是编程的"里子",不管你是前端还是后端,作为一名计算机工程师,具备一定的算法能力,是一种基本要求.具体一点,我们是来讲算法在前端工作中应用.web前端工作中,确实没有太多算法上的需求.以vue等着名框架的虚拟dom的diff算法来讲,框架已经被很好的实现了,你在使用框架的时候是不会涉及到具体的diff算法.但是理解算法,可以让你更好的理解框架,从而也能更好的使用框架,提高页面的性能.再宽泛的来讲算法,很多特殊的需求也会需要你来设计一个算法.比如某个需求有很多个异步请求要发送给服务器,全部完成之后,可以继续下一件事情.可能很多人要说,这个很简单,一个Promise.all就可以解决。
但是请你考虑下面稍有变化的情况,因为服务器的压力问题,限制同一个客户端只能在同一时间只能发送2个异步请求,所以你就必须对Promise.all做出适当的修改在这样的情况下,你就需要设计到一套算法去高效完成它。希望我的回答对你有帮助,欢迎采纳我的回答,谢谢。
❽ app前端开发之前要做什么 知乎
app前端开发可以理解为现在所谓的大前端开发,对于大前端这一词语,没有一个准确的说法,一般前端发展都需要具备多种开发技能,除去传统的 PC 端开发,Web 端开发,还有基于微信的公众号开发、小程序开发,配合打包技术实现的混合 APP 开发,以及桌面应用开发,还有基于 node.js 进行后台开发。
前端开发是创建Web页面或app等前端界面呈现给用户的过程,通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。
❾ app开发需要什么技术
开发不同类型的App需要用到哪些技术?
Web App:iOS/Android的内置浏览器是基于webkit内核的,所以在开发webApp时,多数使用html或html5、CSS3、JavaScript技术做UI布局,使其在网站页面上实现传统的C/S架构软件功能,服务端技术用java、php、ASP。现在也有很多一键生成webApp的平台,如网络siteApp/移动开发平台APICloud,APICloud平台提供基于腾讯x5浏览器引擎生成webApp,因为移动端的超级流量入口微信/手机qq等用的也是腾讯x5内置浏览器,所以用腾讯x5浏览器生成的App在移动页面展示时适配于微信的浏览体验,这样可以帮助webApp引流。
Native App:
开发Native App需要根据运行的手机系统采用不同的开发语言,开发Android App需要的开发语言是java,还需要熟悉Android环境和机制。主要知识点如下:
1. 开发环境,Android Studio、eclipse.如何搭建Android开发环境可以去网络。
2. 数据结构,App的某些功能涉及到做算法,所以要有一定的数学基础
3. Android SDK,会API接口开发,包括自行开发API的能力和调用第三发API的经验。
4. 熟悉tcp、IP,socket等网络协议
5. 如果涉及到服务器,你还需要了解webservice相关知识和相应的开发语言,常用有PHP、JSP、ASP.Net.
6. 除了这些功能基础,App开发还涉及到UI设计、框架、性能优化、调试适配等。
Objective-C是开发iOS系统App的主流编程语言,开发者一般用苹果公司的iOS SDK搭建开发环境,iOS SDK是开发iOS应用程序中不可少的软件开发包,提供了从创建程序,到编译、调试、运行、测试等多种开发过程中需要等工具。学习iOS开发可以去看苹果官方文档,这是最权威的ios教程。
Hybrid App:混合开发中主流的是以web为主体型的开发,即以网页语言编写,穿插Native功能的hybrid App开发类型,网页语言主要有html5、CSS3、JavaScript。Web主体型的App用户体验好坏,取决于底层中间件的交互与跨平台的能力。国内外有很多优秀的开发工具,如国外的AppmAkr、Appmobi,国内的APICloud,APICloud的底层引擎用Deep Engine,使用半翻译式原理,将运行中的web翻译成Native API,并且支持扩展API,开发时可调用用原生语言开发的功能模块,以此达到媲美原生App的用户体验,同时节省开发时间。
对企业来说,可以根据自己的需求选择不同的开发类型和开发工具,目前来看,Hybrid App已经成为移动开发趋势,一方面Hybrid App开发时不采用或者大部分不采用原生语言,却能拥有原生应用的特性,一方面随着web技术的发展,Hybrid App技术已经成熟,很多大型App淘宝、微信、携程都属于这种开发模式,Hybrid App给企业移动应用的开发、维护、更新都带来了极高的便捷性,从成本投入用户体验考虑,Hybrid App都是首选。
❿ APP开发都需要哪些人
这个看你做什么规模,如果是几十万甚至上百万人用这个,那么需要的人就多,如果只是公司内部用,或者需求量小,那么一个2-3人足以。深圳圣马歌科技从事APP定制开发外包行业多年。从一般的开发角度来说的话,一款APP从无到有,所需要的人员有:
1、产品经理,负责产品的设计及需求文档。一款产品,首先要有一个灵魂,一个核心,是做商城,做社交,还是做应用,都需要将其解决的痛点展示出来,这样,APP才能围绕一个点进行设计,否则,整个APP的功能就会繁杂,没有重心。产品经理会做原型图和文档,这两者是整个APP的模型。
2、UI设计师,负责产品外观效果图的设计。如果说原型图展示了产品的功能,那UI图则展示了产品的外观,页面主色调是什么样,外观如何,人机交互如何,都有设计师来做。UI图直接影响到了用户的感官体验和使用体验,一定要重视。
3、安卓、IOS工程师。做APP前端开发,一般来说,一款APP是在安卓市场和IOS市场都有上架,如果有其他计划,也可能只上架某一端。安卓、ios工程师的工作时间,要根据APP页面的多少来评估,还要根据APP与后台的接口多少及复杂程度来评估。在做APP前端的时候,一个是速度,一个是质量,因为APP是直接展示给用户的,所以,在页面搭建的美观上一定要严格,这个美观不要求工程师具有多高的审美,而是要求工程师足够细心和耐心,按照UI图的设计,将每一个icon,每一条线,每一个分隔,每一个像素、每一块色值,都做到完全1:1,这对APP的外观是很重要的。其实,实际开发当中,会有一些开发工具不能支持UI图的地方,按照一定程度来说,APP能有90%还原UI图,就是比较成功的了。APP不仅涉及到页面外观,也会涉及到一些算法逻辑及接口优化,这些需要工程师有较高的处理能力。
4、后台开发,后台一般是Java或者PHP写,有时候会用到C#,一般来说,Java使用比较多。PHP使用也很广泛,但是PHP支持的开发内容不是很多,它主要用在网站搭建、商城和一些其他不复杂的地方。Java用途是最广泛的,很多大型机构、银行等都是用Java,如果你的APP后续预计会有多次扩展升级,建议用Java来写。后台开发跟工程师的能力有很大关系,刚实习的开发人员,虽然功能都会实现,但是在代码质量上会差很多,这就好比如盖房子,需求要求的是一室两厅,经验不丰富的人,就拿砖头给你建造个一室两厅,满足需求吗,也满足,因为需求就是要求一室两厅,但是经验丰富的人,会考虑你的居住舒适度,每间屋子的大小比例,房屋的牢固性、美观性,如果以后想要加二层,我的一层会满足后期的支撑。这就是好的开发者和初入职场的开发者的区别。在选取后台开发人员的时候,一定要注意。
5、测试人员:APP和后台开发完成之后,一定会有测试人员进行测试,测试会从多个角度对每一个功能块进行反复测试验证,确保整个项目逻辑无误功能准确。
6、上架部署:APP的上架,是各大应用市场。安卓市场较多,几乎所有的市场都要求提供软着,所以,软着要提前申请。ios市场上架规则较多,要求ios人员有足够的应付经验。后台代码需要部署在服务器使用。上架部署,现有的开发人员即可完成。
7、运营:如果你的APP需要运营推广,那运营团队肯定少不了,这块需要看实际需求。