App前端开发技巧

App前端开发技巧,第1张

自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联网界从此就多了一个新的名词-WebApp(意为基于WEB形式的应用程序,运行在高端的移动终端设备。我相信各位童鞋应该和我一个样子,到处查找贴子,学习如何制作WebApp项目,经过我一番查找资料学习后准备分享给大家,希望和大家共同探讨学习WebApp。那么WebApp与NativeApp的区别是什么NativeApp:缺点:1、开发成本非常大,一般使用的开发语言为JAVA、C++、Objective-C。2、更新体验较差、同时也比较麻烦,每一次发布新的版本,都需要做版本打包,且需要用户手动更新(有些应用程序即使不需要用户手动更新,但是也需要有一个恶心的提示)。优点:1、非常酷因为nativeapp可以调用IOS中的UI控件以UI方法,它可以实现WebApp无法实现的一些非常酷的交互效果2、Nativeapp是被Apple认可的Nativeapp可以被Apple认可为一款可信任的独立软件,可以放在AppleStroe出售,但是Webapp却不行。WebApp:开发成本较低使用web开发技术就可以轻松的完成webapp的开发升级较简单升级不需要通知用户,在服务端更新文件即可,用户完全没有感觉维护比较轻松和一般的web一样,维护比较简单,它其实就是一个站点Webapp说白了就是一个针对Iphone、Android优化后的web站点,它使用的技术无非就是HTML或HTML5、CSS3、JavaScript,服务端技术JAVA、PHP、ASP。当然,因为这些高端智能手机(Iphone、Android)的内置浏览器都是基于webkit内核的,所以在开发WEBAPP时,多数都是使用HTML5和CSS3技术做UI布局。当使用HTML5和CSS3l做UI时,若还是遵循着一般web开发中使用HTML4和CSS2那样的开发方式的话,这也就失去了WEBAPP的本质意义了,且有些效果也无法实现的,所以在此又回到了我们的主题_webapp的布局方式和技术。在此所说的移动平台前端开发是指针对高端智能手机(如Iphone、Android)做站点适配也就是WebApp,并非是针对普通手机开发Wap20,所以在阅读本篇文章以前,你需要对webkit内核的浏览器有一定的了解,你需要对HTML5和CSS3有一定的了解。如果你已经对此有所了解,那现在就开始往下阅读吧一、首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用<metacontent="black"name="apple-mobile-web-app-status-bar-style"/><metacontent="telephone=no"name="format-detection"/><metaname="apple-mobile-web-app-status-bar-style"content="default"/><metaname="apple-mobile-web-app-status-bar-style"content="black"/><metaname="apple-mobile-web-app-status-bar-style"content="black-translucent"/><metacontent="email=no"name="format-detection"/>看过iOSwebappAPI的同学都知道iOS提供了一个meta标签:用于禁用iOS对页面中电话号码的自动识别。在iOS中是不自动识别邮件地址的,但在Android平台,它会自动检测邮件地址,当用户touch到这个邮件地址时,Android会弹出一个框提示用户发送邮件,如果你不想Android自动识别页面中的邮件地址,那么就把这个meta标签加在head里<metacontent="width=device-width,initial-scale=10,maximum-scale=10,user-scalable=0;"name="viewport"/><metacontent="yes"name="apple-mobile-web-app-capable"/>如果您的网站是小于980px(网页上显示的默认宽度),然后宽度应设置这个标记。此外,如果应用程序是iPhone的具体,然后在宽度应设置的iPhone,iPad或iPodTouch的宽度。人们还应该牢记,而不是使用屏幕的宽度和高度的实际价值,应使用“设备宽度”和“设备的高度”的值。<metaname="viewport"content="width=device-width,initial-scale=23,user-scalable=no"/><metaname="viewport"content="width=device-width,initial-scale=23,minimum-scale=1,maximum-scale=5"/>下面是所有可用的选项:width_Widthofviewportinpixels宽度-视口的宽度,以像素。[Default:980,Range:200-10,000][默认值:980范围:200-10,000]height_Heightofviewportinpixels高度-视口的高度,以像素。[Default:calculatedwiththewidthandaspectratioofthedevice,Range:223-10,000][默认:计算的宽度和长宽比的设备,范围:223-10000]initial-scale_Theinitialscaleoftheviewport最初的规模-视口的初始规模。[Default:calculatedtofitthewebpageintheareaavailable,Range:calculatedwithminimum-scaleandmaximum-scaleproperties][默认:计算面积,范围,以适应网页:最小规模和最大规模的的物业计算]minimum-scale_Theminimumscaleofviewport最小规模-视口的最低规模。[Default:025,Range:>0-10][默认:025,范围:0-10]maximum-scale_Themaximumscaleofviewport最大规模的-视口的最大规模。[Default:16,Range:>0-10][默认值:16,范围:0-10]user-scalable_Whethertheusercanzoominandout用户可扩展性-无论用户可以放大和缩小。[Default:yes,Options:yesorno][默认:是的,选项:yes或no]手机浏览缩放控制<metaname="viewport"content="width=device-width,initial-scale=10,minimum-scale=10,maximum-scale=10,user-scalable=no"/>其中:iPhone满屏幕显示:width=device-widthwidth_viewport的宽度[默认值:980范围:200-10,000]height_viewport的高度[默认:计算的宽度和长宽比的设备,范围:223-10000]initial-scale_初始的缩放比例[默认:计算面积,范围,以适应网页:最小规模和最大规模的的物业计算]minimum-scale_允许用户缩放到的最小比例[默认:025,范围:0-10]maximum-scale_允许用户缩放到的最大比例[默认值:16,范围:0-10]user-scalable_用户是否可以手动缩放[默认:是的,选项:yes或no]二、HTML5标签的使用在开始编写webapp时,哥建议前端工程师使用HTML5,而放弃HTML4,因为HTML5可以实现一些HTML4中无法实现的丰富的WEB应用程序的体验,可以减少开发者很多的工作量,当然了你决定使用HTML5前,一定要对此非常熟悉,要知道HTML5的新标签的作用。比如定义一块内容或文章区域可使用section标签,定义导航条或选项卡可以直接使用nav标签等等。三、放弃CSSfloat属性在项目开发过程中可以会遇到内容排列排列显示的布局,建议你放弃float,可以直接使用display:block;四、利用CSS3边框背景属性这个按钮有圆角效果,有内发光效果还有高光效果,这样的按钮使用CSS3写是无法写出来的,当然圆角可以使用CSS3来写,但高光和内发光却无法使用CSS3编写,这个时候你不妨使用-webkit-border-image来定义这个按钮的样式。-webkit-border-image就个很复杂的样式属性。五、块级化a标签请保证将每条数据都放在一个a标签中,为何这样做?因为在触控手机上,为提升用户体验,尽可能的保证用户的可点击区域较大。六、自适应布局模式在编写CSS时,我不建议前端工程师把容器(不管是外层容器还是内层)的宽度定死。为达到适配各种手持设备,我建议前端工程师使用自适应布局模式(支付宝采用了自适应布局模式),因为这样做可以让你的页面在ipad、itouch、ipod、iphone、android、websafarik、chrome都能够正常的显示,你无需再次考虑设备的分辨率。七、学会使用webkit-box上一节,我们说过自适应布局模式,有些同学可能会问:如何在移动设备上做到完全自适应呢?很感谢webkit为display属性提供了一个webkit-box的值,它可以帮助前端工程师做到盒子模型灵活控制。八、如何去除Android平台中对邮箱地址的识别看过iOSwebappAPI的同学都知道iOS提供了一个meta标签:用于禁用iOS对页面中电话号码的自动识别。在iOS中是不自动识别邮件地址的,但在Android平台,它会自动检测邮件地址,当用户touch到这个邮件地址时,Android会弹出一个框提示用户发送邮件,如果你不想Android自动识别页面中的邮件地址,你不妨加上这样一句meta标签在head中<metacontent=”email=no”name=”format-detection”/>九、如何去除iOS和Android中的输入URL的控件条你的老板或者PD或者交互设计师可能会要求你:能否让我们的webapp更加像nativeapp,我不想让用户看见那个输入url的控件条?答案是可以做到的。我们可以利用一句简单的javascript代码来实现这个效果setTimeout(scrollTo,0,0,0);请注意,这句代码必须放在windowonload里才能够正常的工作,而且你的当前文档的内容高度必须是高于窗口的高度时,这句代码才能有效的执行。十、如何禁止用户旋转设备我曾经也想禁止用户旋转设备,也想实现像某些客户端那样:只能在肖像模式或景观模式下才能正常运行。但现在我可以很负责任的告诉你:别想了!在移动版的webkit中做不到!至少ApplewebappAPI已经说到了:我们为了让用户在safari中正常的浏览网页,我们必须保证用户的设备处于任何一个方位时,safari都能够正常的显示网页内容(也就是自适应),所以我们禁止开发者阻止浏览器的orientatixss_javascript事件,看来苹果公司的出发点是正确的,苹果确实不是一般的苹果。iOS已经禁止开发者阻止orientatixss_javascript事件,那Android呢?对不起,我没有找到任何资料说Android禁止开发者阻止浏览器orientatixss_javascript事件,但是在Android平台,确实也是阻止不了的。十一、如何检测用户是通过主屏启动你的webapp看过ApplewebappAPI的同学都知道iOS为safari提供了一个将当前页面添加主屏的功能,按下iphoneipodipodtouch底部工具中的小加号,或者ipad顶部左侧的小加号,就可以将当前的页面添加到设备的主屏,在设备的主屏会自动增加一个当前页面的启动图标,点击该启动图标就可以快速、便捷的启动你的webapp。从主屏启动的webapp和浏览器访问你的webapp最大的区别是它清除了浏览器上方和下方的工具条,这样你的webapp就更加像是nativeapp了,还有一个区别是window对像中的navigator子对象的一个standalone属性。iOS中浏览器直接访问站点时,navigatorstandalone为false,从主屏启动webapp时,navigatorstandalone为true,我们可以通过navigatorstandalone这个属性获知用户当前是否是从主屏访问我们的webapp的。在Android中从来没有添加到主屏这回事!十二、如何关闭iOS中键盘自动大写我们知道在iOS中,当虚拟键盘弹出时,默认情况下键盘是开启首字母大写的功能的,根据某些业务场景,可能我们需要关闭这个功能,移动版本webkit为input元素提供了autocapitalize属性,通过指定autocapitalize=”off”来关闭键盘默认首字母大写。十三、iOS中如何彻底禁止用户在新窗口打开页面有时我们可能需要禁止用户在新窗口打开页面,我们可以使用a标签的target=”_self“来指定用户在新窗口打开,或者target属性保持空,但是你会发现iOS的用户在这个链接的上方长按3秒钟后,iOS会弹出一个列表按钮,用户通过这些按钮依旧可以在新窗口打开页面,这样的话,开发者指定的target属性就失效了,但是可以通过指定当前元素的-webkit-touch-callout样式属性为none来禁止iOS弹出这些按钮。这个技巧仅适用iOS对于Android平台则无效。决这一问题,我们可以为其添加一个特殊的样式-webkit-box-sizing:border-box;用来指定该盒子的大小包括边框的宽度。流式布局虽然能够适应不同宽度的布局,但是开发时候,在pc下看,就像是整个网页被拉伸了一样,非常难看,而且不好布局,所以建议采用定宽的方式,这样在pc下会非常好看。同时也可以完美解决不同屏幕手机下的适配问题。

方法:

第一:理清Web前端的知识结构。要想高效学习Web前端知识,首先应该搞清楚Web前端都包括哪些技术结构。Web前端开发虽然技术难度并不高,但是技术细节却比较多,内容也比较杂。Web前端的基础包括三大部分,包括Html、CSS和JavaScript,其中JavaScript是学习的重点,也是难点。另外,vue等框架也是需要熟练掌握的。

第二:紧跟技术发展趋势。目前Web前端的技术发展趋势有三个,其一是前端开发数据化;其二是前端开发高效化;其三是前端开发全栈化。前端开发数据化主要是大数据发展的影响,在大数据的推动下,Web前端逐渐涉及到了大量的数据展示任务。前端开发高效化主要体现在Web前端正在进行独立部署,前端与后端的沟通主要通过资源接口的方式来进行。前端开发全栈化也是一个比较明显的趋势,比如Nodejs的应用。

第三:注重动手实践能力的培养。学习前端开发一定要注重动手实践能力的培养,因为前端开发的细节比较多,所以只有多操作才能逐渐熟悉。

前端开发目前被称为“大前端”,整个前端开发也被赋予了更多的含义,包括Web前端开发、移动端开发、大数据呈现端开发以及部分后端开发任务等等。所以,想要在前端行业中走的更远,一定要注重知识结构的丰富性。

与其他编程语言相比,前端是公认的入行门槛较低的一门语言,但依然有很多人在学习之前会问零基础学习web前端难不难,要多久才能学会。学习的难易和时间当然是取决于学习的方式。

前端入门简单,但是深入学习之后,还是有一定学习难度的。如果你是零基础自学web前端的话,那么所花费的时间与精力是不可估计的。 如果系统学习5个月的时间可以帮助你快速成长为合格的web前端工程师。

路线:

第1阶段:前端页面重构(4周)

内容包含了:(PC端网站布局项目、HTML5+CSS3基础项目、WebApp页面布局项目)

第2阶段:JavaScript高级程序设计(5周)

内容包含:(原生JavaScript交互功能开发项目、面向对象进阶与ES5/ES6应用项目、JavaScript工具库自主研发项目)

第3阶段:PC端全栈项目开发(3周)

内容包含:(jQuery经典交互特效开发、HTTP协议、Ajax进阶与PHP/JAVA开发项目、前端工程化与模块化应用项目、PC端网站开发项目、PC端管理信息系统前端开发项目)

第4阶段:移动端项目开发(6周)

内容包含:(Touch端项目、微信场景项目、应用Angular+Ionic开发WebApp项目、应用Vuejs开发WebApp项目、应用Reactjs开发WebApp项目)

第5阶段:混合(Hybrid,ReactNative)开发(1周)

内容包含:(微信小程序开发、ReactNative、各类混合应用开发)

第6阶段:Nodejs全栈开发(1周)

内容包括:(WebApp后端系统开发、一、Nodejs基础与Nodejs核心模块;二、Express;三、noSQL数据库)

至于视频教程,我这里有很多前端的全套教程,如果你需要的话,可以加一下我的学习交流裙裙,找我要就行了!

1第一阶段:前端页面重构

内容包含了:PC端网站布局项目、HTML5CSS3基础项目、WebApp页面布局项目

2第二阶段:JavaScript高级程序设计

内容包含:原生JavaScript交互功能开发项目、面向对象进阶与ES5/ES6应用项目、JavaScript工具库自主研发项目

3第三阶段:PC端全栈项目开发

内容包含:jQuery经典交互特效开发、HTTP协议、Ajax进阶与PHP/JAVA开发项目、前端工程化与模块化应用项目、PC端网站开发项目、PC端管理信息系统前端开发项目

4第四阶段:移动端项目开发

内容包含:Touch端项目、微信场景项目、应用AngularIonic开发WebApp项目、应用Vuejs开发WebApp项目、应用Reactjs开发WebApp项目

5第五阶段:混合(Hybrid,ReactNative)开发

内容包含:微信小程序开发、ReactNative、各类混合应用开发

6第六阶段:NodeJS全栈开发

内容包括:WebApp后端系统开发、NodeJS基础与NodeJS核心模块、Express、noSQL数据库

7第七阶段:大数据可视化

内容包含:大数据可视化化基础与实战、数据可视化入门、D3js详解、其他JS库

扩展资料

web特点

1图形化

Web非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供将图形、音频、视频信息集合于一体的特性。

2与平台无关

无论用户的系统平台是什么,你都可以通过Internet访问WWW。浏览WWW对系统平台没有什么限制。无论从Windows平台、UNIX平台、Macintosh等平台我们都可以访问WWW。对WWW的访问通过一种叫做浏览器(browser)的软件实现。

如Mozilla的Firefox、Google的Chrome、Microsoft的InternetExplorer等。

3分布式的

大量的图形、音频和视频信息会占用相当大的磁盘空间,我们甚至无法预知信息的多少。对于Web没有必要把所有信息都放在一起,信息可以放在不同的站点上,只需要在浏览器中指明这个站点就可以了。在物理上并不一定在一个站点的信息在逻辑上一体化,从用户来看这些信息是一体的。

4动态的

由于各Web站点的信息包含站点本身的信息,信息的提供者可以经常对站上的信息进行更新。如某个协议的发展状况,公司的广告等等。一般各信息站点都尽量保证信息的时间性。所以Web站点上的信息是动态的、经常更新的,这一点是由信息的提供者保证的。

5交互的

Web的交互性首先表现在它的超链接上,用户的浏览顺序和所到站点完全由他自己决定。另外通过FORM的形式可以从服务器方获得动态的信息。用户通过填写FORM可以向服务器提交请求,服务器可以根据用户的请求返回相应信息。

前端工程师的英文名为front-endengineer,简称FE,下文将用FE来代称。现在意义上的前端(并非只制作网页),国内最早开始有大规模招聘岗位应该是2011年左右的事情吧,在此之前,FE的工作基本都是由服务端工程师包办的,或者是由设计师来产出HTML页面。那么,是什么样的原因催生出了FE这一职位呢?本文将从FE的工作内容、专业FE应具备的技能和品质来聊聊这个职业。

如今在整个技术领域,Web前端开发永远站在第一线直面用户体验,已成为当下互联网行业紧俏的高端技术岗位,越来越多的人想要学习Web前端,成为一名Web前端开发工程师。

今天安妹就来跟大家详细说说:什么是Web前端?前端工程师这一职位又是具体做些什么的

什么叫Web前端?

Web前端开发是从网页制作演变而来的,互联网的演变进程,网站的前端也由此发生了翻天覆地的变化。网页不再只是承载单一的文字和,各种富媒体让网页的内容更加生动,网页上软件化的交互形式为用户提供了更好的使用体验,这些都是基于前端技术实现的。无论是开发难度上,还是开发方式上,现在的网页制作都更接近传统的网站后台开发,所以现在不再叫网页制作,而是叫Web前端开发。

通俗的讲,“前”代表与人直接展示的部分,包括界面与用户的交互等,“端”代表输出终端,如pc浏览器、手机浏览器,以及app、应用程序等。那么,合起来的意思也就是这些浏览器、app、应用程序的界面展现以及用户交互就是“前端”。前端的主要职能:把网页界面更好的呈现给用户,与后端相比更加注重页面性能与用户体验。

Web前端开发有很明显的时代特征,它掌控着非常重要的内容和信息的传达,前端开发人员影响着用户的视觉体验,并且在很大程度上决定着大众的信息摄入,以及用户读取信息的有效方式,所以企业对于前端开发的人才需求量也越来越大。

从招聘网站分析,其用人数量已经远远超过主流编程语言Java、ASP、和iOS等的开拓人员的数量。随着谷歌、YouTube、Twitch等大型企业纷纷将视线转投向Web前端,更加确认了Web前端在互联网时代的发展远景。据统计,我国对于Web前端工程师人员的缺口将达到几十万。目前,北京、上海、广州、深圳等地Web前端工程师的薪资待遇更是一飙再飙。安妹所在的成都地区,目前Web前端发展也是一片向好,具体可以看看安妹之前写的文章,已经讲过很多了,此处略去不表。

Web前端开发工程师是做什么的?

Web前端开发岗位有五大特点:

一、行业紧俏度高:技术更新快、需求高涨、用人缺口大;

二、学习难度低:初期以背单词为主、中期培养程序思维、后期注重项目练习;

三、就业选择多:涵盖包括网站、游戏、手机APP、物联网、桌面应用、小程序、3D渲染、数据可视化、VR&AR等应用领域,应用范围极为广阔,十分受互联网企业青睐;

四、起始薪资高:高于大部分非编码类岗位、高于部分后台开发类岗位;

五、职业生涯广:与用户需求/体验直接关联、与项目数据/逻辑直接关联、快速接触到更多岗位内容。

首先要学习的知识是

A静态页面布局:H5+CSS3BJS交互设计CNode开发D前端框架(Vue/React/Angular)E小程序与App,以上都是前端工程师需要必须掌握的知识内容。那么如果你只是想从入门学习的话呢,应该是先要掌握H5+CSS3

如今学习web前端的人越来越多,作为一个初入行的新手,一定要想清楚为什么要学习web前端,出于一种什么样的心态去学习,然后给自己做好定位。下面,千锋杭州web前端培训小编就给大家总结一下,零基础新手在学习web前端时应该掌握哪些知识点。

1、HTML学习

超文本标记语言(HyperTextMark-upLanguage简称HTML)是一个网页的骨架,无论是静态网页还是动态网页,最终返回到浏览器端的都是HTML代码,浏览器将HTML代码解释渲染后呈现给用户。因此,我们必须掌握HTML的基本结构和常用标记及属性。

2、CSS学习

CSS是英文CascadingStyleSheets的缩写,叫做层叠样式表,是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言其样式是可以复用的,这样就极大地提高了我们开发的速度,降低了维护的成本。

3、JavaScript学习

JavaScript是一种在客户端广泛使用的脚步语言,在JavaScript当中为我们提供了一些内置函数、对象和DOM操作,借助这些内容我们可以来实现一些客户端的特效、验证、交互等,使我们的页面看起来不那么呆板。

4、jQuery学习

jQuery是一个免费、开源的轻量级的JavaScript库,并且兼容各种浏览器(jQuery20及后续版本放弃了对IE6/7/8浏览器的支持),同时现在有很多基于jQuery的插件可供选择,这样在我们实现一些丰富的动态效果时更方便快捷,大大节省了我们开发的时间,提高了开发速度,这也充分体现了其writeless,domore的核心宗旨

5、bootstrap

Bootstrap是Twitter推出的一个开源的用于前端开发的工具包,是一个CSS/HTML框架,并且支持响应式布局。一经推出后颇受欢迎,一直是GitHub上的热门开源项目。

6、实战

人生学习的态度是:不急不躁,不快不慢。持之以恒,相信自己。不求能改变世界,但求能改变自己的生活。我们学习web前端最终的目的是为了找到一份满意的高薪工作,那么实战经验对于我们就至关重要,所以,在学习的过程中除了学习各种基础知识,我们还应该积累自己的实战项目经验。

零基础新手想要快速学成web前端,参加培训班无疑时最高效快捷的方式。千锋杭州web前端培训以实战项目驱动教学,除了培养学员的开发技术,覆盖热门大数据可视化内容,深度贯穿前端后端开发,紧贴主流企业一线需求,助力千锋学员毕业即高薪就业。

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/4023522.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-04-10
下一篇2024-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存