写给Android开发者看的『微信小程序和Android开发的对比』

写给Android开发者看的『微信小程序和Android开发的对比』,第1张

微信小程序近期可谓是动作频出,仅最近新增的能力就有:

种种迹象表明,微信对小程序的期望值是很大,所以在它推出的几个月效果没到达预期的情况下,之前的很多『克制』也就逐渐变成『放肆』了 —— 不过不管小程序以后的发展到底怎样,对我们开发者来发,多了解一些总是没有坏处的。

他山之石,可以攻玉。

对于是技术人来说,多了解一些不同的技术、不同的开发模式、不同的架构思想,提高技术『广度』,对于自己的成长是十分必要的。

所以,本文就是从一个 Android 开发者的角度,从项目工程方便切入,来分析一下『微信小程序』跟『Android App』开发上的一些异同。

『微信小程序』开发是一个相对较新的技术,希望通过本文,能让你对它多一些了解。

因为内容是从Android开发的角度来谈的,所以我假设你已经对 Android 开发比较熟悉了。并且对微信小程序的开发也比较感兴趣,如果要是再能有些 javascript、css 的基础的话那就更好了!

Android 开发我们已经比较熟悉——

作为对比,进行微信小程序开发所用的语言是这些——

wxml (WeiXin Markup Language) 基本约等于是 xml。微信之所以没有直接使用 xml ,可能是为了以后扩展方便一些(野心很大)。

同理, wxss (WeiXin Style Sheets) 基本约等于是 css。也是微信扩展了一些功能,比如统一的尺寸单位 rpx 。

对于 Android 来说,对于页面的描述基本上在 xml 中定义的,比如:

这是一个简单的典型的示例,这个文件就是描述了两部分内容:

somewxss:

很明显可以看出:wxml 是负责了 页面结构 的展示;而 wxss 则负责了对 页面样式 的定义。

这种把结构和样式分离的做法,其实是延续了网页开发中的习惯(html + css)。

这样做的好处起码有两个:

——看起来还是挺简单的结构:

这三个文件用以描述小程序 app 相关的内容,他们的命名是固定这样的,位置也固定是在根目录下。

appjs 基本相当于 Android 中的 Application 类,文件中主要是有一个 App() 函数,来进行小程序的初始化 *** 作。

appjson 的作用跟 Android 中的 AndroidMainifestxml 文件很相似 —— 都是静态化的配置文件。

appwxss 定义全局的样式 —— 其定义的样式会作用于每个页面。比如在 appwxss 中加入:

就可以给所有的 text 控件添加 5px 的 padding 。

当然,页面本身的 xxPagewxss 可以定义局部样式来覆盖全局样式。

根目录下的 utils 文件夹中有一个 utiljs 文件,这个故名思意,是类似于 Java 中的一些工具类的存在。

utils 文件夹其实是一个非必须的结构,而它之所以出现在官方的 HelloWorld 工程中,是作为一个代表,表明了开发者在这里是可以自定义新的文件夹和结构的。微信小程序作为一个使用 js 来开发的平台,是可以使用许多第三方的 js 库的,对于这些第三方库,以及其他的资源等,都可以放到自定义的文件夹中。

pages 文件夹下包含两个子目录:index 和 logs ,两个目录的结构都是基本一样的,都是包含四个相同主名称的文件: xxjs、xxwxml、xxjson、xxwxss 这几个文件。

这样的一个典型结构表明它是一个小程序的页面,四个文件的作用分别是:

在视图的动态显示上,微信小程序使用了 数据绑定(data-binding) 的方式。

如果你之前使用过 AngularJS 或者 Vuejs 等这些流行的 js 框架,那么你肯定对 数据绑定 并不陌生。它是一种把一个控件的属性绑定到某个数据对象(view-model)的属性的方法,这样在改变数据对象属性的时候,所对应的控件属性也就会相应变化 —— 在开发中,这种方式会使得对 View 层的显示控制变得十分简单、自然。

基于此,软件工程的流行架构方式也在之前的 MVC 、 MVP 之外,又多了一个 —— MVVM(Model-View-ViewModel) 。

数据绑定 这种方式现在是如此的流行,以致于 Android 官方都出了一个 [Data Binding Library] ( >

微信小程序注册在微信公众平台注册小程序,完成注册后可以同步进行信息完善和开发。

2

微信小程序信息完善填写小程序基本信息,包括名称、头像、介绍及服务范围等。

3

微信小程序开发完成小程序开发者绑定、开发信息配置后,开发者可下载开发者工具、参考开发文档进行小程序的开发和调试。

4

微信小程序提交审核和发布完成小程序开发后,提交代码至微信团队审核,审核通过后即可发布(公测期间不能发布)。

微信小程序开发流程,一步一步跟着做就好了。

小程序的开发与传统的web前端开发极其相似,

安装

首先下载微信开发者工具

t=201716

直接下载安装,点击下一步

然后扫码进入微信公众号,他会自动获取你的公众号和微信

开发小程序需要专业知识。

如果你懂技术知识,那么可以下载安装官方小程序开发者工具。安装好之后,就新建小程序项目,选择代码存放的硬盘路径,填入自己的小程序的AppID(没有的话你要先到微信公众平台注册一个小程序账号,在“设置”里可以查看你的小程序的AppID)。勾选“创建QuickStart项目”,就可以开发自己的小程序了。

小程序搭建分为两种模式。

一种是专业定制,需要专业团队。按照客户定做功能需求,自己去买域名服务器,开发好的程序也放到客户自己的服务器上,每年按时续费既可。但是价格方面较贵,制作时间方面较长,至少是一个月起步。

另一种是基于SAAS平台的小程序模板搭建,价格较低开发快速,非常容易上手。

1、注册、登录

进入得有店官网注册账号并登录,先创建一个店铺,按步骤填写信息,系统根据商家选的经营品类会自动匹配合适的店铺主题模板,一键启用即可,商品、内容、表单、活动等信息同步展示。

2、店铺设置与装修

1>店铺主题模板是设计师匠心打造,符合用户体验,商家可根据业务需要,简单做替换即可。

2>商家也可以通过后台组件自由搭建店铺页面,可视化拖拽,也能简单上手。

3>店铺框架与布局设置完毕,即可上传商品。得有店支持如淘宝、天猫、1688批发网、有赞商城等平台商品的批量导入;商家也可单条采集商品,简单设置下价格库存等信息,即可上架。

4>进行店铺认证,根据要求填写信息。

3、授权绑定小程序

路径:渠道—微信小程序—已有小程序,立即绑定

用注册小程序时设置的管理员微信号扫描二维码,即可授权成功。

4、设置小程序的支付方式

得有店提供有平台模式和自有模式两种,小程序仅支持自有模式,商家按照要求填写商户号等信息,提交即可。

5、发布小程序

在概况—新手引导页面点击“发布小程序”,也可点击“渠道—微信小程序”进行发布,然后等待微信审核,等小程序审核通过后,商家就可以进行线上经营了。

开发小程序的方法与步骤:

1、有两种方法,一种方法是自己开发,这需要有一定的基础,微信小程序虽是腾讯出品,但是核心的思想跟vue等框架是一样的。

2、申请注册微信小程序账号,注意:注册账号之后会有一个AppID,下载微信开发者工具,新建项目的时候需要填上,否则很多功能用不了,比如不能预览、不能上传代码等问题。

3、新项目创建完毕就可以进入开发者工具进行编辑,其中最难的就是编写代码这部分,其中appjs、appjson、appwxss这三个文件功能一定要了解清楚,这对微信小程序开发是非常有帮助的,后面有很多样式、功能之类的,都是需要添加的。

4、善于搜集精美的小组件,比如在github或者微信开放社区上找到想要的组件并巧妙优雅的组装到自己的小程序中,可以大大缩短制作的时间,编辑好点击“提交”,填写小程序相关信息就可以提交审核了,注意:分类最好填写准确,这样才能更快的通过审核。

5、另一种方法则是利用一些一键生成小程序的工具,比如凡科网,登录后,进入选择想要的模板进行相应的修改就可以了。

微信小程序是一种全新的应用形态,微信小程序平台不需要下载安装即可使用应用的平台,微信小程序实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。下面一起看一下安下小编给大家带来的微信小程序设计指南。微信小程序设计指南概要基于微信小程序轻快的特点,我们拟定了小程序界面设计指南和建议。 设计指南建立在充分尊重用户知情权与 *** 作权的基础之上。旨在微信生态体系内,建立友好、高效、一致的用户体验,同时最大程度适应和支持不同需求,实现用户与小程序服务方的共赢。友好礼貌为了避免用户在微信中使用小程序服务时,注意力被周围复杂环境干扰,小程序在设计时应该注意减少无关的设计元素对用户目标的干扰,礼貌地向用户展示程序提供的服务,友好地引导用户进行 *** 作。重点突出每个页面都应有明确的重点,以便于用户每进入一个新页面的时候都能快速地理解页面内容,在确定了重点的前提下,应尽量避免页面上出现其他干扰项影响用户的决策和 *** 作。反例示意此页面的主题是查询,却添加了诸多与查询不相关的业务入口,与用户的预期不符,易造成用户的迷失。纠正示意去掉任何与用户目标不相关的内容,明确页面主题,在技术和页面控件允许的前提下提供有助于用户目标的帮助内容,比如最近搜索词,常用搜索词等。反例示意 *** 作没有主次,让用户无从选择纠正示意首先要避免并列过多 *** 作让用户选择,在不得不并列多个 *** 作时,需区分 *** 作主次,减轻用户的选择难度。流程明确为了让用户顺畅地使用页面,在用户进行某一个 *** 作流程时,应避免出现用户目标流程之外的内容而打断用户。反例示意用户本打算进行搜索,在进入页面时却被突如其来的抽奖d窗所打断;对于抽奖没有兴趣的用户是非常不友好的干扰; 而即便有部分用户确实被“诱人”的抽奖活动所吸引,离开主流程去抽奖之后可能就遗忘了原本的目标,进而失去了对产品真正价值的利用和认识。清晰明确一旦用户进入我们的小程序页面,我们就有责任和义务清晰明确地告知用户身在何处、又可以往何处去,确保用户在页面中游刃有余地穿梭而不迷路,这样才能为用户提供安全的愉悦的使用体验。导航明确,来去自如导航是确保用户在网页中浏览跳转时不迷路的最关键因素。导航需要告诉用户,我在哪,我可以去哪,如何回去等问题。首先在微信系统内的所有小程序的全部页面,均会自带微信提供的导航栏,统一解决我在哪,如何回去的问题。在微信层级导航保持体验一致,有助于用户在微信内形成统一的体验和交互认知,无需在各小程序和微信切换中新增学习成本或改变使用习惯。微信导航栏微信导航栏,直接继承于客户端,除导航栏颜色之外,开发者无需亦不可对其中的内容进行自定义。但开发者需要规定小程序各个页面的跳转关系,让导航系统能够以合理的方式工作。微信导航栏分为导航区域、标题区域以及 *** 作区域。其中导航区控制程序页面进程。目前导航栏分深浅两种基本配色。导航区(iOS)导航区通常只有一个 *** 作,即返回上一级界面。导航区(Android)同iOS一样,导航区也只有一个返回上一级页面的 *** 作,而点击安卓手机自带的硬件返回键也起到相同作用。微信导航栏自定义颜色规则(iOS和Android)小程序导航栏支持基本的背景颜色自定义功能,选择的颜色需要在满足可用性前提下,和谐搭配微信提供的两套主导航栏图标。建议参考以下选色效果:选色方案示例页面内导航开发者可根据自身功能设计需要在页面内添加自有导航。并保持不同页面间导航一致。但是受限于手机屏幕尺寸的限制,小程序页面的导航应尽量简单,若仅为一般线性浏览的页面建议仅使用微信导航栏即可。开发者可选择小程序页面添加标签分页(Tab)导航。标签分页栏可固定在页面顶部或者底部,便于用户在不同的分页间做切换。标签数量不得少于2个,最多不得超过5个,为确保点击区域,建议标签数量不超过4项。一个页面也不应出现一组以上的标签分页栏。其中小程序首页可选择微信提供的原生底部标签分页样式,该样式仅供小程序首页使用。开发时可自定义图标样式、标签文案以及文案颜色等,具体设置项可参考开发文档。顶部标签分页栏颜色可自定义。在自定义颜色选择中,务必注意保持分页栏标签的可用性、可视性和可 *** 作性。减少等待,反馈及时页面的过长时间的等待会引起用户的不良情绪,使用微信小程序项目提供的技术已能很大程度缩短等待时间。即便如此,当不可避免的出现了加载和等待的时候,需要予以及时的反馈以舒缓用户等待的不良情绪。启动页加载小程序启动页是小程序在微信内容一定程度上展现品牌特征的页面之一。本页面将突出展示小程序品牌特征和加载状态。启动页除品牌标志(Logo)展示外,页面上的其他所有元素如加载进度指示,均由微信统一提供且不能更改,无需开发者开发。页面下拉刷新加载在微信小程序内,微信提供标准的页面下拉刷新加载能力和样式。开发者可自定义需要通过下拉交互完成刷新的页面,此类交互微信将提供标准能力和样式。在样式上,刷新图标与下拉标示配色已捆绑,分为深浅两套方案,开发者在使用时,应注意头部文字、下拉标识与刷新图标的和谐统一。当用户在该类页面做出下拉交互时,出现微信小程序页面标准加载动画。开发者无需自行开发样式深浅两套下拉样式微信下拉提示用于给用户明确的小程序归属者,防止造假与作弊。此处标示提供深浅两套方案,文字颜色不可自定义,开发者在自定义背景色时,应注意保证下拉标示的辨识度。iOS和Android配色方案相同如下展示。微信下拉标示错误使用案例请避免以下错误使用情况,确保信息的可见性和页面的可用性页面内加载反馈开发者可在小程序里自定义页面内容的加载样式。建议不管是使用在局部还是全体,自定义加载样式都应该尽可能简洁,并使用简单动画告知用户加载过程。 开发者也可以使用微信提供的,统一的页面加载样式,如图中例所示。模态加载模态的加载样式将覆盖整个页面的,由于无法明确告知具体加载的位置或内容将可能引起用户的焦虑感,因此应谨慎使用。除了在某些全局性 *** 作下不要使用模态的加载。局部加载反馈即只在触发加载的页面局部进行反馈,这样的反馈机制更加有针对性,页面改动小,是微信推荐的反馈方式。例如:加载反馈注意事项若载入时间较长,应提供取消 *** 作,并使用进度条显示载入的进度。载入过程中,应保持动画效果 ; 无动画效果的加载很容易让人产生该界面已经卡死的错觉。不要在同一个页面同时使用超过1个加载动画。结果反馈除了在用户等待的过程中需予以及时反馈外,对 *** 作的结果也需要予以明确反馈。根据实际情况,可选择不同的结果反馈样式。对于页面局部的 *** 作,可在 *** 作区域予以直接反馈,对于页面级 *** 作结果,可使用d出式提示(Toast)、模态对话框或结果页面展示。页面局部 *** 作结果反馈对于页面局部的 *** 作,可在 *** 作区域予以直接反馈,例如点击多选控件前后如下图。对于常用控件,微信设计中心将提供控件库,其中的控件将提供完整 *** 作反馈。页面全局 *** 作结果——d出式提示(Toast)d出式提示(Toast)适用于轻量级的成功提示,15秒后自动消失,并不打断流程,对用户影响较小,适用于不需要强调成功状态的 *** 作提醒。特别注意该形式不适用于错误提醒。页面全局 *** 作结果——模态对话框对于需要用户明确知晓的 *** 作结果状态可通过模态对话框来提示,并可附带下一步 *** 作指引。页面全局 *** 作结果—结果页对于 *** 作结果已经是当前流程的终结的情况,可使用 *** 作结果页来反馈。这种方式最为强烈和明确的告知用户 *** 作已经完成,并可根据实际情况给出下一步 *** 作的指引。异常可控,有路可退在设计任何的任务和流程时,异常状态和流程往往容易被忽略,而这些异常场景往往是用户最为沮丧和需要帮助的时候,因此需要格外注意异常状态的设计,在出现异常时予以用户必要的状态提示,并告知解决方案,使其有路可退。要杜绝异常状态下,用户莫名其妙又无处可去,卡在某一个页面的情况。22中所提到的d窗和结果页面都可作为异常状态的提醒方式。除此之外,在表单页面中尤其是表单项较多的页面中,还应明确指出出错项目,以便用户修改。异常状态——表单出错表单报错,在表单顶部告知错误原因,并标识出错误字段提示用户修改便捷优雅从PC时代的物理键盘鼠标到移动端时代手指,虽然输入设备极大精简,但是手指 *** 作的准确性却大大不如键盘鼠标精确。为了适应这个变化,需要开发者在设计过程中充分利用手机特性,让用户便捷优雅的 *** 控界面。减少输入由于手机键盘区域小且密集,输入困难的同时还易引起输入错误,因此在设计小程序页面时因尽量减少用户输入,利用现有接口或其他一些易于 *** 作的选择控件来改善用户输入的体验。减少输入,巧用接口例如下图中,在添加yhk时,采用摄像头识别接口来帮助用户输入。除此之外微信团队还对外开放例如地理位置接口等多种微信小程序接口 ,充分利用这些接口将大大提高用户输入的效率和准确性,进而优化体验。除了利用接口外,在不得不让用户进行手动输入时,应尽量让用户做选择而不是键盘输入。一方面,回忆易于记忆,让用户在有限的选项中做选择通常来说是容易于完全靠记忆输入;另一方面,仍然是考虑到手机键盘密集的单键输入极易造成输入错误。 例如图中,在用户搜索时提供搜索历史快捷选项将帮助用户快速进行搜索,而减少或避免不必要是键盘输入。避免误 *** 作因为在手机上我们通过手指触摸屏幕来 *** 控界面,手指的点击精确度远不如鼠标,因此在设计页面上需点击的控件时,需要充分考虑到其热区面积,避免由于可点击区域过小或过于密集而造成误 *** 作。当简单的将原本在电脑屏幕上使用的界面不做任何适配直接移植到手机上时,往往就容易出现这样的问题。由于手机屏幕分辨率各不相同,因此最适宜点击像素尺寸也不完全一致,但换算成物理尺寸后大致是在7mm-9mm之间。在微信提供的标准组件库中,各种控件元素均已考虑到了页面点击效果以及不同屏幕的适配,因此再次推荐使用或模仿标准控件尺寸进行设计。利用接口提升性能微信设计中心已推出了一套网页标准控件库,包括sketch设计控件库和Photoshop设计控件库,后续还将完善小程序组件,这些控件都已充分考虑了移动端页面的特点,能够保证其在移动端页面上的可用性和 *** 作性能;同时微信开发团队也在不断完善和扩充微信小程序接口,并提供微信公共库,利用这些资源不但能够为用户提供更加快捷的服务,而且对页面性能的提高有极大作用,无形之中提升了用户体验。统一稳定除了以上所提到的种种原则,建议接入微信的小程序还应该时刻注意不同页面间的统一性和延续性,在不同的页面尽量使用一致的控件和交互方式。统一的页面体验和有延续性的界面元素都将帮助用最少的学习成本达成使用目标,减轻页面跳动所造成的不适感。正因如此,小程序可根据需要使用微信提供的标准控件,以达到统一稳定的目的。视觉规范为方便设计师进行设计,微信提供一套可供Web设计和小程序使用的基础控件库;同时提供方便开发者调用的资源。字体规范微信内字体的使用与所运行的系统字体保持一致,常用字号为20, 18, 17, 16,14 13, 11(pt),使用场景具体如下:字体颜色主内容 Black 黑色,次要内容 Grey 灰色;时间戳与表单缺省值 Light 灰色;大段的说明内容而且属于主要内容用 Semi 黑;蓝色为链接用色,绿色为完成字样色,红色为出错用色 Press与 Disable状态分别降低透明度为20%与10%;列表视觉规范表单输入视觉规范按钮使用原则列表外按钮上文字标准按钮高度为44px下使用: 颜色 #000000 / #353535 字号 18pt可点状态下文字调整透明度为60%不可点状态下文字调整透明度为30%列表外按钮上文字标准按钮高度为25px下使用: 颜色 #000000 / #353535 字号 14pt页面线性按钮上文字标准按钮高度为35px下使用: 颜色 #09BB07 / #353535 字号 16pt图标使用原则

以上就是关于写给Android开发者看的『微信小程序和Android开发的对比』全部的内容,包括:写给Android开发者看的『微信小程序和Android开发的对比』、如何开发小程序、做微信开发怎么使用设计师提供的尺寸等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9856263.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存