鸿蒙启航:Kotlin Multiplatform (KMP) 赋能 HarmonyOS 应用开发实践与深度解析

鸿蒙启航:Kotlin Multiplatform (KMP) 赋能 HarmonyOS 应用开发实践与深度解析

引言

随着移动生态的多元化发展,跨平台技术因其高效复用代码、降低开发成本的优势,日益受到开发者和企业的重视。与此同时,华为 HarmonyOS 作为新兴的操作系统,凭借其分布式能力和全场景愿景,正吸引着越来越多的开发者投身其生态建设。在这样的背景下,Kotlin Multiplatform (KPM) 以其在共享业务逻辑、数据模型方面的卓越能力,成为连接现有 Android 技术栈与新兴 HarmonyOS 平台的一座重要桥梁。

本文将聚焦于如何利用 KMP 技术栈赋能 HarmonyOS 应用的开发,涵盖从技术选型、架构设计、核心模块开发到与 HarmonyOS 端集成的全流程实践。文章旨在为有志于投身 HarmonyOS 应用开发,特别是具备 Android 和 Kotlin 背景的开发者,提供一条清晰的技术演进路径。我们将深入探讨 KMP 的核心机制、与 HarmonyOS 集成的关键点、可能遇到的挑战及其解决方案,并辅以实际场景的思考。文章后半部分将提供一套针对此职位描述的面试题库及参考答案,助力招聘方精准评估候选人的技术深度与潜力。

第一部分:技术基石 - Kotlin Multiplatform (KMP) 精要

  1. KMP 概述与核心价值
    • 定义: KMP 是 JetBrains 推出的一种跨平台开发解决方案,允许开发者使用 Kotlin 编写一次代码,然后将其编译并运行在多个平台上,包括 JVM (Android)、JavaScript (Web)、Native (iO

Read more

VsCode远程Copilot无法使用Claude Agent问题

最近我突然发现vscode Copilot中Claude模型突然没了,我刚充的钱啊!没有Claude我还用啥Copilot 很多小伙伴知道要开代理,开完代理后确实Claude会出来,本地使用是没有任何问题的,但是如果使用远程ssh的话,会出现访问异常,连接不上的情况。这时候很多小伙伴就在网上寻找方法,在vscode setting中添加这么一段代码。可以看看这篇博客 "http.proxy": "http://127.0.0.1:1082", "remote.extensionKind": { "GitHub.copilot": [ "ui" ], "GitHub.copilot-chat": [ "ui" ], "pub.name": [ "ui&

By Ne0inhk
VSCode Copilot 终极魔改:以智谱 GLM-4.6 为例,一文搞定任意大模型接入

VSCode Copilot 终极魔改:以智谱 GLM-4.6 为例,一文搞定任意大模型接入

VSCode Copilot 终极魔改:以智谱 GLM-4.6 为例,一文搞定任意大模型接入 前言:为何你的 Copilot 需要一次“魔改”? 本文旨在帮助所有希望突破 VSCode Copilot 模型限制、追求更高代码效率和性价比的开发者。如果你也曾面临以下困境,那么这篇文章就是为你量身打造的: * Copilot 官方模型不够用:想尝试最新、最强的国产模型(如智谱 GLM、文心一言、Kimi)却无从下手。 * API 订阅成本高:官方或其他国外模型的订阅费和按量计费(通常以美元结算)让个人开发者望而却步。 * 替代品体验有瑕疵:其他辅助插件在某些场景下不如原生的 Copilot 轻便、流畅。 本文将提供一个终极解决方案:通过一个 VSCode 插件,无缝接入任何支持 OpenAI 兼容接口的大模型。我将以当前备受瞩目的国产模型智谱 GLM-4.6 为例,

By Ne0inhk

昇腾设备部署llama.cpp

硬件环境: Atlas 800I A2 CPU:KunPeng920 * 192 NPU:Atlas 910B4-1 * 8 内存:1000G 软件环境 操作系统:OpenEuler22.03 LTS 内核:5.10.0-186.0.0.2.1.oe2203sp3.galaxy.aarch64 驱动:24.1.rc2 docker:26.1.3 为了不影响物理环境,安装是在docker容器环境中进行, 由于目前llama.cpp只支持openeuler22.03和ubuntu 22.04,可以下载一个对应操作系统的镜像 此处以vllm-ascend:0.9.1rc1-torch_npu2.

By Ne0inhk

OpenClaw之Memory配置成本地模式,Ubuntu+CUDA+cuDNN+llama.cpp

文章目录 * 背景:Memory不生效的问题 * OpenClaw的Memory配置 * Ubuntu24.04安装CUDA和cuDNN * 编译llama.cpp * 验证方案1: * 验证方案2:下载并运行Llama-2 7B模型 * 安装node-llama-cpp * 验证Memory * sqlite-vec unavailable * 踩过的坑 * 安装node-llama-cpp的一些提示 * 安装node-llama-cpp的前置条件 * Using `node-llama-cpp` With Vulkan 承接上文:Windows11基于WSL2首次运行Openclaw,并对接飞书应用,我已经在电脑上安装了OpenClaw,接下来解决Memory问题。走了很多弯路,下面主要讲我总结的正确的安装过程。 总结来说:针对Memory不生效的问题,又不想用OpenAI或Gemini,或者只想单纯的节省token,可以按照如下的方式,设置为local模式: * 修改openclaw.json配置 * 安装CUDA和cu

By Ne0inhk