经过几年的迅速发展,鸿蒙抛弃了JAVA写应用的方式,几年前了解的鸿蒙显然就gg了。
这几年鸿蒙发布了方舟(ArkUI Arkts),将TypeScript作为了推荐开发语言,你依然可以用FA+JS,但华为推荐用Stage+ArkTs!!!那么你还是用Stage+ArkTs开发吧!!
采用Mac
HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者
省略安装后启动.....
当你要创建第一个项目的时候会弹出下面这个,我这里已经把node ohpm全部安装好了就全是√。
如果没安装画红框的地方会出现蓝色字,点击安装或选择安装位置就可以
点击Finish项目就创建成功了!!
按照Ohos来说,华为把项目化分了包。实际位置可能不在同级目录。
ets/entryability项目目录是华为“约定”存放ablility window的地方
ets/pages 项目目录是华为“约定”存放页面内容(组件)的地方
当然你不一定放要放,可以自己新建包名,ability在配置文件module.json5链接好就行 page在显示的时候对应上包名就可以。
entry/configuration 存放就是配置信息
AppScope/app.json5文件 很显然包括了app的包名,版本,应用名(lable)等信息
- {
- "app": {
- "bundleName": "com.lyl.hello",
- "vendor": "lyl",
- "versionCode": 1000000,
- "versionName": "1.0.0",
- "icon": "$media:app_icon",
- "label": "$string:app_name"
- }
- }
entry/configuration/build-profile.json5 api类型等信息
- {
- "apiType": 'stageMode',
- "buildOption": {
- },
- "targets": [
- {
- "name": "default",
- "runtimeOS": "HarmonyOS"
- },
- {
- "name": "ohosTest",
- }
- ]
- }
entry/configuration/hvigorfile.ts 构建器脚本 暂时不能修改就不列了
entry/configuration/module.json5 类manifest文件写法不同内容不一样
- {
- "module": {
- "name": "entry",
- "type": "entry",
- "description": "$string:module_desc",
- "mainElement": "EntryAbility",
- "deviceTypes": [
- "phone",
- "tablet"
- ],
- "deliveryWithInstall": true,
- "installationFree": false,
- "pages": "$profile:main_pages",
- "abilities": [
- {
- "name": "EntryAbility",
- "srcEntry": "./ets/entryability/EntryAbility.ts",
- "description": "$string:EntryAbility_desc",
- "icon": "$media:icon",
- "label": "$string:EntryAbility_label",
- "startWindowIcon": "$media:icon",
- "startWindowBackground": "$color:start_window_background",
- "exported": true,
- "skills": [
- {
- "entities": [
- "entity.system.home"
- ],
- "actions": [
- "action.system.home"
- ]
- }
- ]
- }
- ]
- }
- }
entry/configuration/oh-package.json5 相当于安卓项目模块(app)下面build.gradle文件
- {
- "name": "entry",
- "version": "1.0.0",
- "description": "Please describe the basic information.",
- "main": "",
- "author": "",
- "license": "",
- "dependencies": {}
- }
configuration/build-profile.json5 模块信息,编译api版本等
- {
- "app": {
- "signingConfigs": [],
- "compileSdkVersion": 9,
- "compatibleSdkVersion": 9,
- "products": [
- {
- "name": "default",
- "signingConfig": "default",
- }
- ]
- },
- "modules": [
- {
- "name": "entry",
- "srcPath": "./entry",
- "targets": [
- {
- "name": "default",
- "applyToProducts": [
- "default"
- ]
- }
- ]
- }
- ]
- }
configuration/oh-package.json5相当于安卓项目中project层的build.gradle
- {
- "name": "hello",
- "version": "1.0.0",
- "description": "Please describe the basic information.",
- "main": "",
- "author": "",
- "license": "",
- "dependencies": {
- },
- "devDependencies": {
- "@ohos/hypium": "1.0.6"
- }
- }
configuration/oh-package.json5自动生成的不用直接改
page/index 一种响应式编程组件写法。“状态变更,重新渲染”
- @Entry
- @Component
- struct Index {
- @State message: string = 'Hello World'
-
- build() {
- Row() {
- Column() {
- Text(this.message)
- .fontSize(50)
- .fontWeight(FontWeight.Bold)
- }
- .width('100%')
- }
- .height('100%')
- }
- }
连接鸿蒙手机(注意api版本9就需要3.1的鸿蒙系统才能运行成功到真机)
通过创建项目大致了解了项目结构、文件内容,了解了华为用到技术,与自己懂的相应证,就知道要进一步了解哪些知识了。