客户端技术笔记
手机上可以打html与css的app1.常⽤客户端技术介绍
客户端是指普通⽤户使⽤的终端,⽤户通过客户端接触并使⽤产品。客户端通常是指PC与移动端。
2.1 Android系统
Android系统基于Lunx开发,⾕歌推出的Android所有系统源代码开源。
在应⽤开发层,使⽤Java语⾔进⾏应⽤开发。
2.2 iOS系统
iOS系统是基于UNIX的操作系统,在应⽤层使⽤苹果⾃家的开发语⾔Objective-C、Swift来进⾏iOS应⽤开发。
iOS系统是闭源系统,不开放源代发。
2.3 Web⽹页
Web技术通常是指由HTML、CSS及⼀些动态交互技术(例如JavaScript等)组成的Web前端技术。
Web⽹页的好处是跨平台,只有通过浏览器才能获取产品服务。Web⽹页不需要对特定的设计进⾏适配,通过响应式布局的⽅式可以对不同屏幕的尺⼨进⾏动态适配。
通过Web实现的好处是,易于改动、灵活变化,可以在不发布新版本的情况下实现内容更新。
3.Android基础技术及基本控件
Android使⽤Java为开发语⾔,使⽤Eclipse作为开发⼯具,⾕歌也推出Android Studio,相对于Eclipse,使⽤Android Studio开发更⽅便,即可以⼀边编写界⾯代码,⼀边查看实际效果。
Android对应⽤获取系统服务有权限控制,如果要使⽤系统⾃⾝服务,需要在开发阶段声明具体功能的使⽤权限。
Android
3.1.1 View
View是视图的意思,表⽰在屏幕上展⽰的⼀个可视化控件,是Android所有控件的根。所有的Android控件都是基于View扩展的。
在Android系统中,每⼀个界⾯元素都是⼀个View,在界⾯上表⽰这个View,需要注明View的长度与宽度、对应的位置,进⼀步还可以设置此View的背景颜⾊及基本形状。可以⽤View表⽰⼀条直线,也可以⽤View表⽰⼀个矩形。
3.1.2 Button
按钮控件,对按钮的形状和外观可以进⾏⾃定义设置,还可以设置按钮的点击事件,所谓点击事件就是当我们点击某个按钮时,这个按钮会触发什么操作。
sp:与缩放⽆关的抽象像素(在正常⼤⼩设置下1sp=1dp、当字体⼤⼩是⼤或者超⼤时,1sp>1dp)
3.1.3 TextView
TextView代表⽂本展⽰框,同样需要制定长度与宽度,长宽实际上框定出⽂本范围,同时还需要制定⽂本内容的字体⼤⼩和颜⾊。
在TextView中,可以设置⽂本是单⾏显⽰还是多⾏显⽰,可以设置字体类型。如果设置TextView的背景颜⾊,看到的就是⼀个带矩形边框的区域。
3.1.4 EditText
EditText是⽂本输⼊框,也就是产品中输⼊内容的控件,EditText与TextView的属性基本类似,区别就在于EditText可以进⾏内容输⼊,⽽且对输⼊的内容可以进⾏类型控制。(明⽂与密⽂、内容类型)
EditText可以控制输⼊的长度,EditText有⼀个属性叫做“hint”,它可以⽤来在EditText中作为提⽰⽂本。
通过定义EditText的背景属性,可以设置圆⾓矩形框、下划线表格式。在设计产品时,⼀般需要标注⼀个控制为输⼊框。
3.1.5 ImageView
ImageView是图⽚展⽰控件,对于图⽚来说,可以⽤ImageView作为图⽚载体来体现,可以ImageView设置背景颜⾊及阴影。
3.1.6 ListView
ListView在Android系统中是列表控件。
例⼦:联系⼈会话列表、商品列表、联系⼈列表。都是通过ListView实现的。
ListView⽰意图
在实现ListView时,⾸先需要定义这个ListView的条⽬中控件的布局⽅式,在实现层⾯,只需要定义⾏条⽬的展⽰⽅式,然后往这个ListView中填充数据即可。
在会话列表这个ListView中,条⽬中包含了展⽰头像的ImageView控件,展⽰名称、聊天内容缩略和更新时间的TextView。
在Android系统中,ListView是⼀种容器型控件,可以在其中放弃他的控件,ListView的外观和其他控
件⼀样,可以进⾏⾃定义控制,扩展性强。
3.1.7 GirdView
GridView控件与ListView类似,也是⼀种容器控件,区别在于ListView以列表的⽅式展⽰,GridView以表格的⽅式展⽰。如果需要实现多⾏多列的展⽰,就可以使⽤GridView。同样,也需要定义GridView中每⼀个单元格的布局⽅式。
GridView⽰意图
3.2 Android界⾯布局原理
线性布局:按照顺序,从上到下或从左到右的布局⽅式。
margin:边距
相对布局:指定控件与其他控件的相对位置,所谓相对位置就是以某⼀控件为参考基准,与其他控件的空间位置。
3.3 Android系统的权限控制
在Android系统中,应⽤访问⽤户隐私或者获取⼀些系统权限时候,需要取得⽤户的授权才可以使⽤。这些权限的设置是在开发阶段由开发⼈员标记在代码中的,需要使⽤哪个系统服务或权限就需要添加其功能权限。
3.4 Android应⽤打包及发布
Android应⽤开发完成后,需要打包成⼀个扩展名为“apk”(Androidpackage)的⽂件,这个⽂件是⼀个完整的Android应⽤安装⽂件。
在开发完成后,需要通过开发⼯具将开发完成的代码及⼀些素材(例如图⽚、icon等)⼀起编译打包成⼀个APK⽂件。打包安装⽂件时,需要使⽤⼀个特殊的签名⽂件为这个安装包⽂件签名,签名的⽬的是保证这个应⽤安装包的唯⼀性与安全性。因为最终产品需要发布到各个应⽤商城,签名的意义就在于做唯⼀性区分并保证安装包的唯⼀性。
打包完成后进⾏发布时,可以标记安装包的渠道来源,通过标记渠道来源,可以统计安装渠道,从⽽了解和统计各个应⽤市场该产品的下载次数。通过统计还可以检索出有问题的版本来⾃于哪个应⽤市场,这样就能更精准的定位问题。
iOS
4.1 UIButton
在iOS系统中UIButton表⽰按钮控件。
4.2 UILabel
在iOS中使⽤UILable表⽰⽂本展⽰控件。与TextView属性类似。在屏幕上布局⼀个UILable需要指定控件所处的坐标轴位置。
4.3 UITextField
UITextField在iOS系统中是⽂本输⼊框控件。对应Android系统中的EditText⽂本输⼊框控件。
与“hint”属性⼀样的叫做“placeholder”,表⽰⽂本提⽰信息。
4.4 UIImageView
在iOS系统中使⽤UIImageView作为图⽚展⽰的基础控件。
4.5 UITableView
UITableView表⽰列表型控件。
与ListView的不同之处在于:UITableView的可扩展性较⾼,例如:执⾏中的左滑操作,出现删除和备注两个选项,这就是对UTableView的⾃定义扩展。和ListView类似,UITableView中的每⼀⾏叫作“cell”,可以对cell进⾏⾃定义布局。
4.6 UICollectionView
UICollectionView是iOS系统中进⾏表格展⽰的控件,和GridView类似,iPhone的系统相册就是使⽤UICollectionView实现的。瀑布流设计,也是使⽤的⾃定义UICollectionView。
4.7 iOS界⾯布局原理
iOS界⾯布局与Android不同,iOS使⽤的是绝对布局,也就是说,每⼀个控件在界⾯上是通过指定控件的绝对位置进⾏显⽰的。
iO界⾯坐标轴
iPhone屏幕物理分辨率是其逻辑像素的两倍。iOS界⾯坐标轴的长度与宽度是根据屏幕的逻辑像素表⽰。
苹果在技术上也推出了类似Android布局⽅式的相对布局,通过响应式布局来调节界⾯控件的显⽰⽅式。
4.8 iOS系统权限控制
iOS系统权限在开发阶段不需要声明,⽽是在使⽤阶段由⽤户授权。
4.9 iOS应⽤打包及发布
iOS应⽤打包是通过苹果推出的开发⼯具Xcode。
通过Xcode上传安装包⾄App Store后,需要等待苹果的审核⼈员对应⽤进⾏测试和审核,这个周期⼀般为⼀周左右,审核成功后则可以通过App Store下载应⽤。如果审核失败,修改后可重新提审,若遇到特殊情况需要加急审核,也可以填写申请加急审核的申请表,苹果审核⼈员会根据具体情况判断是否受理加急审核,若受理则审核周期可缩短⾄⼀到两天。
另⼀种发布⽅式是发布内部测试版,这种⽅式是在指定的测试设备商安装应⽤包。这种⽅式是有限授权的⽅式,苹果会给具备开发资格的开发者账户授权,每个账户能开通有限的测试设备。
要想提供给所有⽤户使⽤,必须发布⾄App Store,以应⽤安装包的⽅式安装是在则是设备上安装扩展名为“.ipa”的⽂件。
苹果的开发者证书分为三种:
(1)个⼈开发者:开发商署名为个⼈的开发者。
(2)公司开发者:开发商署名为公司的开发者。申请公司开发者需要提供公司的相关证明材料。
(3)企业开发者:企业开发者可以⾃⾏打包并发布应⽤,简单说,企业发布者可以⾃⼰开发并绕过AppStore提供App下载,但只能在有限的范围内。企业开发者类型往往是提供给企业内部作为内部App开发和下载使⽤。
个⼈与公司类型的账户是99美⾦/年,企业类型的账户是299美⾦/年。
Web
5.1 Web基础技术知识
每⼀个Web页都有⼀个唯⼀的地址,不同的地址组合在⼀起,通过链接相互跳转,最终形成⼀个⽹站系统。我们使⽤的各种⽹站,需要通过⽹站的域名进⼊,所谓域名就是每个⽹站的唯⼀性地址。
CSS样式表对Web页⾯进⾏美化。H5页⾯就是⼀种通过Web技术
H5页⾯就是⼀种通过Web技术
HTML语⾔制作Web页⾯,通过CSS样式表
Web页⾯也有⾃⼰的编程语⾔,我们通过HTML语⾔
实现的适配移动设备的产品形态。
在移动端App中使⽤Web加载的⽅式打开Web页⾯,就可以将Web页⾯嵌⼊移动App中,实现⼆者的互相混合。这种⽅式对⼀些变化⽐较频繁的产品页⾯是⼀种较好的技术⽅案(修改Web页⾯的内容不需要重新发布⼀个新版本的App),但是如果要修改某个App的本地功能。就需要修改App的本地代码然后重新发布⼀个版本。使⽤Web的好处是能轻量化产品实现,⽽且能够动态灵活地调整产品内容。劣势就是Web页⾯的体验感和流畅度和原⽣的App实现还有⼀定的差距,所以频次⾼⽽且内容相对固定的,可以选择原⽣App。使⽤频次低⽽且内容变化⽐较快的通过Web 实现。
5.2 ⽹站的⾻骼和外⾐HTML/CSS
HTML全称超⽂本标记语⾔。超⽂本的意思是它能表现的内容不仅是⽂本,还可以是图⽚、链接、⾳乐等⾮⽂字元素,标记语⾔是对
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论