【YonBuilderMobileDevelopment】创建App是否需要AVM的经验分享台中创建应用截图很多新手开发者可能会有这样的疑问,到底要不要用AVM?这个AVM是什么?使用与不使用对本项目的开发有什么区别和影响?针对以上容易让新手开发者迷惑的问题,本文简单分析一下使用AVM和不使用AVM的一些区别,以期帮助开发者朋友们在面对不同的项目场景时做出更准确的决策。判断选项。关于YonBuilder移动开发的两种模式YonBuilder移动开发支持使用javascript开发应用项目,其中包括两种开发模式,我个人形容为:混合开发模式(HyBirdMode)和多端开发模式(MultipleMode).屏幕截图第一部分中使用AVM的选项对应于这两种模式。如果不使用AVM(默认),项目使用HyBirdMode混合开发模式。如果使用AVM,则项目对应(MultipleMode多端开发模式。下面简单介绍一下这两种模式。2.1HyBirdMode:混合开发模式混合开发模式(HyBirdMode),由YonBuilder移动开发技术提供,是一种编程开发模式,支持使用Web前端开发开发语言(HTML、CSS、JavaScript),结合原生API对象和原生插件,实现应用项目开发。一次性开发,支持Harmony、android、iOS、H5等各类客户端应用的生成。值得一提的是,不同于市面上常见的shellweb应用开发,YonBuilder移动开发技术提供的混合开发模式内置了一个原生移动系统功能封装API函数,原生插件原生语言封装,开箱即用,功能丰富。lug-ins可以解决复杂场景下网页卡顿和性能不佳的问题。痛点。混合开发模式的实现原理是使用HTML、CSS、JS方法实现简单的界面(部分内容展示、中等页面数据、相对简单的交互),使用原生插件实现复杂页面(海量数据、频繁交互)(如果官方插件库中没有匹配的插件,也支持上传用户自定义的原生插件),或者两者混合使用。通过这种编程机制,YonBuilder移动开发的混合开发模式可以保证开发者开发出高性能、高质量的客户端应用。2.2MultipleMode:多终端开发模式多终端开发模式(MultipleMode)支持开发者一次开发,同时生成多个应用客户端。目前支持Harmony、android、iOS、H5和小程序。也就是说,它比上面的混合开发模式多了一种对小程序的多终端支持。需要指出的是,在多端模式下,开发者需要使用官方提供的AVM多端开发框架(以下简称AVM)进行项目应用开发。AVM的全称是Application-View-Model,去掉了所有的文字修饰和描述。简单的说,AVM是一个支持使用javascript编写项目代码的多端技术框架。AVM有一套自己定义的UI组件。开发者需要使用AVM定义的这些组件进行页面开发。AVM采用类Vue语法结构进行页面编码开发,有自己的生命周期事件和编程规则。它的底层是将开发者编写的编码内容通过AVM框架内置的编译机制对代码进行工程化编译,将编写好的js代码转换成对应平台的原生语音编码,然后使用平台提供的内置编译机制对函数进行编译打包,最终生成一个真正的NativeApp。对于最终的app产品,AVM生成的应用和使用Native原生语音开发的应用本质上没有区别。使用AVM与不使用AVM的区别分析根据以上分析,如果在创建应用时使用默认选项,即不使用AVM,则项目使用HyBirdMode混合开发模式;如果改用AVM,对应的项目使用的是MultipleMode多终端开发模式。下面的简要表格提供了两种模式的简单比较分析。总结:混合开发模式:专注于移动端开发,学习门槛低,简单易学,编程开发友好,无特殊限制,是一种特别适合web前端开发同学作为入门学习的技术横向扩展。多端开发模式:专注于多端,支持低代码拖拽生成页面,需要使用AVM多端框架开发实现页面和功能,有一套自定义的组件和语法规则,并且需要开发者专门学习。因为框架要兼容多终端,所以在编程上有一定的限制,必须遵循AVM框架的开发规则。同时,由于要考虑翻译成原生navtive样式,所以CSS的使用也有一定的兼容性限制。具体是否选择AVM4.1的一些建议需要参考AVM官方开发文档1.根据项目场景选择。如果只需要生成手机应用,不需要生成小程序,推荐使用混合开发模式,对新手友好(强烈推荐!)如果需要生成小程序项目,可以考虑使用AVM4.2。2.根据自己的技术栈选择。只需选择混合开发模式,只需要web前端知识,结合对官方API对象函数的了解,即可上手App项目开发。4.33.根据项目的复杂程度选择。如果项目比较复杂,建议使用混合开发模式,支持丰富的DIY开发。因为AVM要考虑多端兼容,所以不会支持很多非常规的样式和交互。另外,遇到AVM框架相关的问题,需要反馈给相关技术人员解决。这个过程需要一些时间。混合开发模式已经实践了5年多,技术非常成熟。对于一些工期紧迫的项目,为了保险起见,建议采用混合开发模式开发项目。复杂项目判断说明:UI层面:UI风格非常新颖独特,不是市面上常见的布局结构和组件风格;原型交互:交互逻辑比较复杂,有拖拽、缩放、动画效果等,特殊字体等;另外,再多说一下小程序应用和移动应用的应用场景,因为系统底层提供的API功能的差异和产品应用方向的差异。小程序平台重展示,轻交互,重应用轻量级;而移动端底层提供的功能更全面,应用的体积限制相对较小,可以满足用户的各种需求,适合交互逻辑比较多的应用。一些项目。个人而言,我们可以通过小程序应用作为引流手段,以展示功能和快速入口为主,吸引用户,然后通过App客户端提供更全面、更深入的功能体验,成为积累用户的主力客户端.如果不考虑平台特性,一刀切,将多个平台客户端统一为一个版本,就无法充分发挥各个平台的优势。比如一些页面功能交互比较重的应用,是无法在小程序端实现的。但是,如果为了兼容小程序而将项目设计得比较简单和通用,则无法充分发挥移动端的性能优势。结果,很容易将应用项目变成一个平庸的产品。所以对于一些复杂的项目,建议从原型阶段就区分小程序平台的特点和移动端的特点,做两个内容不同的版本,分别实现,这样的特点可以充分利用和发布不同的平台。为用户呈现最佳的客户体验。结语我们在开发前期选择技术栈框架时,往往会关注框架编译生成后的应用性能体验。我个人认为,这种性能体验其实是综合因素综合的结果,技术架构只是其中的一个因素,很多时候开发者自身的技术水平才是最终决定一款应用体验好坏的根源。因此,着重于编码逻辑优化、异常情况的边界处理、理解和利用框架和平台特性是开发高质量、高体验应用的关键。————————————————版权声明:本文为CSDN博主“随便”原创文章,遵循CC4.0BY-SA版权协议。转载请附上原文出处链接及本声明。
