前言:

 

对于华为而言,做鸿蒙的最好答案,也许不是为了追求眼前的速胜,而是为了不下牌桌等待机遇。

 

手机领域,鸿蒙式微。但物联网领域,技术难度并不大,虽然行业仍需要时日才会爆发,但依然是值得卡位的趋势。

 

而复盘商业翻盘史,会发现:许多成功企业,不是在领先者的地盘上硬打硬扛,而是先默默积累技术,保存火种,熬过寒冬;等新的技术路线出现时,联合群众,一起掀翻老技术路线上的既得利益者。

 

ASML的湿刻法打败日本的干刻法是这样,谷歌的安卓击败诺基亚的塞班也是如此。

 

鸿蒙给谁用?这不是一个抢答题。

鸿蒙Harmony OS发布有一段时间了,今天出于好奇,花了一晚上的时间,首先研究学习了一下开发环境的搭建,以及第一个

 

环境准备:

 

1、Node.js

2、Widnows

3、DevEco Studio Package

 

安装Node.js环境


下载地址:https://nodejs.org/zh-cn/

 

如下图,选择长期支持版即可。

安装过程省略,打开安装包,接下去一路傻瓜式安装即可。

安装完成之后打开CMD窗口,输入node -v 查看是否安装成功(查看版本),如下图:

安装HUAWEI DevEco Studio
IDE下载地址:https://developer.harmonyos.com/cn/develop/deveco-studio#download

下载需要有华为账号,目前只有window版本的。

Mac和Linux版本可能会在后续进行发布。

下载后会得到一个压缩包,安装程序就在这个压缩包里面,解压后双击打开。

到这里就安装成功了,接下来就可以开始运行IDE了。

 

首次运行IDE的时候会让你选择导入设置,可以选择跳过。接下来就是同意相关协议。接下来可以看到安装SDK的界面,需要安装一下SDK环境。过程中如果遇到失败,请点击重试如下图,完成安装,下载好SDK后,需要进行一下配置。打开configuration->setting

勾选下面内容,如图所示:

System Settings >> SDK Platforms >> JS & Java

System Settings >> SDK Tools >> Toolchains & Previewer

勾选完上述内容之后,点击下方按钮Apply,会弹出如下对话框,点击确定,进行下载。下载时间稍长,耐心等待。

如上,安装完成,可以开始愉快的开始自己的Hello World了。

 

js 3.0.0.80安装失败


如果全部是默认设置,可能会遇到Java SDK 下载正常,但是 JS SDK 下载失败,如何解决?

JS SDK 下载失败,可能存在以下原因:

 - 未安装 Node.js,请根据文章开头下载和安装 Node.js,并检查是否安装成功Node.js。

 - 你的网络受限导致失败或者下载缓慢,需要通过配置代理才能访问,请根据npm 代理设置进行处理。

 

方法一、设置 npm 仓库


对于国内用户,可以将 npm 仓库设置为华为公有云仓库。在命令行工具中执行如下命令,重新设置 npm 仓库地址后,再执行 JS SDK的下载。

npm config set registry https://mirrors.huaweicloud.com/repository/npm/

方法二、手动下载JS拷贝到SDK文件中


下载地址:

http://update.dbankcdn.com/TDS/data/files/p16/s165/G6781/g6780/v457030/f1/js-windows-3.0.0.80.zip

解压然后将里面的内容拷贝到SKD安装文件夹下的JS文件夹:

Gradle 插件下载失败,如何解决?


Gradle 下载失败,可能存在如下两种原因:

  • 网络受限,请检查网络设置或者 DevEco Studio 代理设置(步骤如下)。

  • 网络正常,但是通过 DevEco Studio 下载缓慢或失败,可以通过如下方式解决。
     a. 点击链接 下载 Gradle 插件,建议使用下载工具进行下载。

 b. 打开“此电脑”,在文件夹地址栏中输入 %userprofile%,进入个人数据界面。

c. 进入 .gradle > wrapper > dists > gradle-5.4.1-all 目录,将下载的“gradle-5.4.1-all.zip”拷贝到该目录下临时文件夹中。如果存在多个临时文件夹,建议每个文件夹都拷贝一份。

 d. 重启DevEco Studio,等待工程同步完成。

 

DevEco Studio 代理设置


DevEco Studio 开发环境需要依赖于网络环境,需要连接上网络才能确保工具的正常使用,可以根据如下两种情况来配置开发环境:

  • 如果可以直接访问 Internet,只需进行[设置npm仓库]和[下载HarmonyOS SDK] 操作。

  • 如果网络不能直接访问 Internet,需要通过代理服务器才可以访问,请根据本章节内容逐条设置开发环境。
    **更多内容请参考此处,点击跳转**

 

设置 npm 代理


**只有在同时满足以下两个条件时,需要配置 npm 代理,否则,请跳过本章节。**

  • 需要使用 JS 语言开发 HarmonyOS 应用。

  • 网络不能直接访问 Internet,而是需要通过代理服务器才可以访问。这种情况下,配置 npm 代理,便于从 npm 服务器下载 JS 依赖。

 

打开命令行工具,按照如下方式进行 npm 代理设置和验证。

 1. 执行如下命令设置 npm 代理。

 a. 如果使用的代理服务器需要认证,请按照如下方式进行设置(请将 user、password、proxyserver 和 port 按照实际代理服务器进行修改)。

npm config set proxy http://user:password@proxyserver:portnpm config set https-proxy http://user:password@proxyserver:port

 

 b. 如果使用的代理服务器不需要认证(不需要帐号和密码),请按照如下方式进行设置。

 

npm config set proxy http:proxyserver:portnpm config set https-proxy http:proxyserver:port

 

 2. 代理设置完成后,执行如下命令进行验证。

 

npm info express

执行结果如下图所示,则说明代理设置成功。

鸿蒙OS 运行Hello World


HarmonyOS的相关框架及文档在Gitee上面。

 

地址: https://gitee.com/openharmony

DevEco Studio 开发环境配置完成后,可以通过运行 HelloWorld 工程来验证环境设置是否正确。以 Wearable 工程为例,在 Wearable 远程模拟器中运行该工程。

 

 

  1. 打开 DevEco Studio,在欢迎页点击 Create HarmonyOS Project,创建一个新工程。

  2. 选择设备类型和模板,以 Wearable 为例,选择 Empty Feature Ability(Java),点击 Next。

从下面界面中可以看出,IDE支持基于TV ,Wearable,Lite Wearable三种硬件平台的软件开发。

 3. 填写项目相关信息,保持默认值即可,点击 Finish。

 4. 工程创建完成后,DevEco Studio 会自动进行工程的同步,同步成功如下图所示。首次创建工程时,会自动下载 Gradle 工具(Gradle 下载失败如何解决? 请看上文中的步骤),时间较长,请耐心等待。

 5. 在DevEco Studio 菜单栏,点击Tools > HVD Manager。首次使用模拟器,需下载模拟器相关资源,请点击 OK,等待资源下载完成后,点击模拟器界面左下角的 Refresh 按钮。

 6. Tools > DevEco Login > Login 在浏览器中弹出华为帐号登录界面,请输入已实名认证(未实名认证请完成实名认证)的华为帐号的用户名和密码进行登录。

 > 说明: 推荐使用 Chrome 浏览器,如果使用 Safari、360 等其他浏览器,要取消 阻止跨站跟踪 和 阻止所有Cookie 功能。

 

 7. 然后再次在DevEco Studio 菜单栏,点击Tools > HVD Manager,会弹出设备列表,选择Wearable设备,并点击点击三角形按钮,运行模拟器,如下图。

 8. 点击 DevEco Studio 工具栏中的点击放大按钮运行工程,或使用默认快捷键 Shift+F10 运行工程。当然要等待Gradle下载完成之后

 9. 点击 DevEco Studio 工具栏中的点击放大按钮运行工程,或使用默认快捷键 Shift+F10 运行工程。

 

 10. 在弹出的 Select Deployment Target 界面选择 Connected Devices,点击 OK 按钮。

 

 11. DevEco Studio 会启动应用的编译构建,完成后应用即可运行在 Remote Device 上。

 

可以看到entry打印的命令以及日志如下:

09/24 00:05:53: Launching com.example.myapplication
$ hdc shell am force-stop com.example.myapplication
$ hdc file send E:/WorkSpace/DevEcoStudioProjects/MyApplication/entry/build/outputs/hap/debug/entry-debug-unsigned.hap /sdcard/entry-debug-unsigned.hap
$ hdc shell bm install -p /sdcard/entry-debug-unsigned.hap
$ hdc shell am start -n "com.example.myapplication/com.example.myapplication.MainAbilityShellActivity"
Client not ready yet..Waiting for process to come online
Waiting for process to come online
Connected to process 30346 on device huawei-gll_al00-127.0.0.1:18888
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
E/e.myapplicatio: GcSupervisor: parse parameters failed
D/AwareBitmapCacher: handleInit switch not opened pid=30346

 

 

总结:

 

出于新鲜和好奇,参照官网,搭建了一下HarmonyOS开发环境,IDE来看,还算友好,毕竟与Android Studio一样,都是基于IntelliJ IDEA Community 版开发的IDE。

比较Mac和Linux的话也没法比,毕竟我没用过Mac的IDE;怎么说呢,天空任鸟飞,海阔凭鱼跃,基础环境搭建好,接下来的就是语言发挥优势了,基础环境没什么好说的,都差不多,软件主要还是要靠强大的语言来创造。

接下来可能会在后续的业余时间多找找相关的资料,学习下相关内容的开发,作为一个技术人员,或许不久的将来或多或少会接触到相关的模块,技术嘛,多多益善。

 

后话:

 

在AIoT领域,并不存在华为手机一样的卡脖子问题。根据华为开发者大会公布的数据来看,在AloT领域做生态,华为还是有不少本钱的,小兄弟就有一堆:

 

1)与800家合作伙伴构建了HiLink智能硬件生态,打造出超过3000款产品,拥有5000万+的智能硬件用户,累计发货量超过2.2亿;

 

2)与智能硬件搭配使用的华为智慧生活APP已经拥有4亿装机量,激活用户数达到5000万,智慧生活APP每天请求次数达到10.8亿次;

 

3)华为HiCar已经合作了超过150款汽车,2021年将计划预装超过500万台。

 

加上华为自身在智能手表、智慧屏、VR、体脂秤等多个领域的布局,鸿蒙在物联网领域的起点就领先了对手一大截。

 

当然,这一切的前提依然是,华为不能亲自下场做豆浆机、空调、油烟机,不要与自己的客户抢生意。

 

 

 

 

 

 

 

版权声明: 本文为 InfoQ 作者【软测小生】的原创文章。