鸿蒙特点1.鸿蒙=>超级小程序鸿蒙应用支持java和js开发;使用js开发支持调用系统级API,如摄像头、麦克风、WI-FI等鸿蒙自己封装了hml、css、js2.鸿蒙=>可裁剪系统(微内核)支持内存:128KB-128MB-4GB3.修改通信协议,统一物联网互联标准语言鸿蒙是安卓壳吗?1.安卓系统2.鸿蒙系统所以鸿蒙虽然搭载了安卓运行时,但它并不是一个简单的外壳,而是加入了自身和鸿蒙运行时的诸多功能。而且在应用开发层面也定义了自己的sdk(尤其是jssdk),等未来鸿蒙生态成熟后Androidruntime完全可以淘汰。学习鸿蒙开发需要哪些知识?前端技术栈:HTML\CSS\JS,类WEB编程;鸿蒙系统没有内置浏览器环境,但为了降低学习成本;鸿蒙封装了自己的html标签、js、css等,类似于WEB端的语法(这些功能已经很强大了!)。熟悉微信小程序:包括页面结构、API、配置方式等与小程序类似。熟悉Vue2.0:鸿蒙实现了类似VUE2.0DMVVM模式的Android开发经验(观察者,数据劫持):因为首先要兼容Android系统。HarmonyOS系统架构1.应用层HarmonyOS应用由一个或多个FA(FeatureAbility)或PA(ParticleAbility)组成,支持按需下载和加载。FA是UI界面的一个功能点,提供与用户交互的能力;类似于微前端。PA没有UI界面的功能点,提供后台运行任务的能力;类似于微服务。2、框架层提供了java/C/C++/JS用户程序框架和Ability框架两种UI框架(JavaUI框架,JSUI框架)。3.服务层鸿蒙系统核心能力4.内核层多核设计,微内核架构鸿蒙的三类功能点(能力)1.FA支持PageAbility:PageAbility是FA唯一支持的模板,用于提供与用户交互的能力。一个Page实例可以包含一组相关的页面,每个页面由一个AbilitySlice实例表示。2、PA支持ServiceAbility和DataAbility:ServiceAbility:用于提供后台运行任务的能力。数据能力:用于对外提供统一的数据访问抽象。鸿蒙的前端架构鸿蒙JSUI=VUE2.0+小程序;1、JSUI框架:类web范式编程的UI界面展示,使用html标签编写UI;详细参考:https://gitee.com/openharmony..ApplicationApplicationlayerFramework前端框架层EngineEnginelayerPortingLayer适配层2.JS应用开发框架:实现了轻量级的MVVM(类似vue2),包括两个——绑定方式;也可以使用es6的部分语法;详情参考:https://gitee.com/openharmony...JS数据绑定:JS数据绑定框架使用JavaScript语言提供了一套基本的数据绑定能力。JS运行时:JS运行时用于支持JS代码的解析和执行。(JS解析引擎为:JerryScript,轻量级引擎;非V8)JS框架:JS框架部分使用C++语言提供JSAPI和组件的框架机制。3.JSNative(NAPI):实现js和c/c++代码的相互访问,例如:数据存储storage使用c++实现,然后提供api给js使用。NativeEngine:JS引擎抽象层,在NAPI层统一了JS引擎的接口行为。(Engine:QuickJS)ModuleManager:管理模块,用于模块加载和模块信息缓存。ScopeManager:管理NativeValue的生命周期。ReferenceManager:管理NativeReference的生命周期。HarmonyOS应用开发1.应用开发在线体验:https://playground.harmonyos....2.应用开发工具下载(DevEcoDeviceTool,需要下载2.0):https://device.harmonyos.com/...3.鸿蒙应用前端开发的文件结构还包括js、css、hml;但是这些文件的执行不是浏览器环境,而是类web语法;目前只实现了一些基本功能。hml是鸿蒙自己开发的标签;js支持部分es6语法,但不支持最新的完整es6+语法。css也和浏览器端有些不同,具体请参考官方文档。例如:目前console.log()只能打印字符串,不能打印对象。4、JSApi的使用,例如:@system.fetch=>@system里面有很多API,都是通过ts实现的。详细参考:https://developer.harmonyos.c...importfetchfrom'@system.fetch'exportdefault{data:{responseData:'NA',url:"test_url",},fetch:function(){那个=这个;fetch.fetch({url:that.url,success:function(response){console.info("fetchsuccess");that.responseData=JSON.stringify(response);},fail:function(){console.info("获取失败");}});}}开发环境搭建1.创建项目时,可以选择一些简单的页面模板2.创建项目后的入口,app.js,其中config.json是Harmonyos的官方文档,用于配置文件:https://developer.harmonyos.c...特别鸣谢:拉勾教育前端高薪训练营
