V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
murmur
V2EX  ›  华为

被华为这 arkts 震撼到了 原以为模拟器学苹果 没想到还有更无语的

  •  
  •   murmur · Oct 26, 2024 · 2378 views
    This topic created in 552 days ago, the information mentioned may be changed or developed.

    约束与限制

    在应用调试时,开发者需在 release 模式下调用系统相机( CameraPicker )。

    由于系统限制了 debug 模式下不允许调试 release 应用,在 debug 模式下调用系统相机,将导致异常。

    https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/camera-picker-V5

    也就是说我开发相机代码时不能调试

    本来以为模拟器学苹果除了 UI 什么都没有就很过分了

    没想到这还更无语的,真就盲写代码 release 见分晓是吗。。

    20 replies    2024-10-27 16:37:37 +08:00
    hhylx1950
        1
    hhylx1950  
       Oct 26, 2024
    我还记得以前开发安卓,用华为手机测试,发现华为手机默认不打开 logcat 的震撼...
    TrembleBeforeMe
        2
    TrembleBeforeMe  
       Oct 26, 2024
    华为之前吹的不就是应用无法访问相机只能拿到成像结果吗
    lisongeee
        3
    lisongeee  
       Oct 26, 2024
    好奇这个 arkTs 能不能直接在 Windows/Mac/Linux 上运行?

    还是说只能在 手机/模拟器 上运行?
    Donaldo
        4
    Donaldo  
       Oct 26, 2024
    @lisongeee #3 arkui-x 可以
    gouflv
        5
    gouflv  
       Oct 26, 2024 via iPhone
    希望国产的💩比苹果的好吃
    Donaldo
        6
    Donaldo  
       Oct 26, 2024
    文档估计是没更新,你试试就知道了,debug 调用也没事。。。
    nyxsonsleep
        7
    nyxsonsleep  
       Oct 26, 2024
    企业用户有问题可以找他们解决。个人就不好说了。
    lisongeee
        8
    lisongeee  
       Oct 26, 2024
    @Donaldo #3

    没找到支持 Windows 的文档描述,我只看到说支持 OpenHarmony 、Android 、iOS

    支持 Windows 的描述在哪呢?

    你说是 arkui-x 而不是 arkTs ,意思是程序是必须依赖 GUI 运行吗,不能通过 terminal 运行吗?
    Donaldo
        9
    Donaldo  
       Oct 26, 2024
    @lisongeee #8
    > 没找到支持 Windows 的文档描述,我只看到说支持 OpenHarmony 、Android 、iOS
    sorry ,没看清你的回复,确实目前只支持移动端跨平台。不过华为画过这个 PC 端的饼,但不知道猴年马月能实现。

    > 你说是 arkui-x 而不是 arkTs ,意思是程序是必须依赖 GUI 运行吗,不能通过 terminal 运行吗?
    ArkTS 本身用声明式 UI 来做前端的语言,不是写命令行程序的。你可以当成是 dart/swift 这种。ArkUI-X 可以理解成 flutter 这种框架,一套 ArkTS 代码,多端运行。
    lisongeee
        10
    lisongeee  
       Oct 26, 2024
    @Donaldo

    dart 可以脱离 flutter 单独运行,比如前端 scss 编译工具 https://github.com/sass/dart-sass 就是用 dart 实现的

    同理 swift 也可以脱离 swift-ui 单独运行

    我的意思是 ArkTS 能不能脱离 arkui-x 单独运行,看你刚刚的回复,貌似是不能的
    Donaldo
        11
    Donaldo  
       Oct 26, 2024
    @lisongeee #10 如果你是这个意思的话,那么非 UI 部分的来说,ArkTS 就是一个限制更加严格的 TS ,所以随便一个能执行 TS 的环境都可以,至于 UI 部分,目前来看应该是没有这种工具。
    12101111
        12
    12101111  
       Oct 26, 2024
    这个 API 不就是存一张图到目录下面吗,有什么要调试的地方吗。
    lisongeee
        13
    lisongeee  
       Oct 26, 2024
    @Donaldo #10

    并不是,arkTs 使用了一些如 struct 这种现有 ts/js 不支持的语法 https://github.com/tc39/proposal-structs

    此外装饰器的实现也存在区别,它和 ts 的关系不是官方文档里描述的 包含关系,只是一部分相同

    <随便一个能执行 TS 的环境都可以> 只对部分代码成立,而且这种项目也没人做
    Donaldo
        14
    Donaldo  
       Oct 26, 2024
    @lisongeee #13 还是你严谨,我说的倒是不太规范了,其实我用 UI 部分指的就是这个 struct 和装饰器的逻辑,因为我只在 UI 部分用了这些,非 UI 部分全是 class interface 这种,也没用到装饰器。

    话说到这,这 ArkTS 的 struct 和 class 区别在哪?
    murmur
        15
    murmur  
    OP
       Oct 26, 2024
    @Donaldo 我的理解他包含两部分,一个是传统的描述文件,相当于 ApplicationEntry 这样的东西,用的 class ,然后打开的每一个 activity 用 struct 来写
    Donaldo
        16
    Donaldo  
       Oct 26, 2024
    @murmur #15 确实,我也是这么做的,不过我好奇的是语言层面上的区别。不是说工程结构上
    6JSh5b6Q5Z2k
        17
    6JSh5b6Q5Z2k  
       Oct 26, 2024
    目的是什么?为了隐私性?
    murmur
        18
    murmur  
    OP
       Oct 27, 2024
    @Donaldo 我刚试了,debug 模式的相机是黑屏,真的艹了
    murmur
        19
    murmur  
    OP
       Oct 27, 2024
    @12101111 要做图像裁切什么
    Donaldo
        20
    Donaldo  
       Oct 27, 2024
    @murmur #18 我擦?我这正常的。。你是啥系统版本和 api 版本?我是 5.0.0.102 api12
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2403 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 01:54 · PVG 09:54 · LAX 18:54 · JFK 21:54
    ♥ Do have faith in what you're doing.