Skip to content

现状和计划 #57

@qii

Description

@qii

2021.4.6

Scene 的现状是目前的 API 已经满足了产品的需求,开发者本身有其他忙碌的工作,所以迭代的很慢。不过这个库能做的当然还有很多,把目前完成的,开发的,计划的列一下:

已经完成的

1,拆分 com.bytedance.scene:scene,抽出单独的 com.bytedance.scene:scene-navigation,单独拆出来导航库单独方便后续迭代
2,NavigationScene 完善透明 Scene 和不透明 Scene 之间的切换,主要用于动画,适用于本身不透明的页面,在动画过程中先透明,动画后切回不透明的场景

正在开发中的

1,现有 Activity + Fragment 设计的 App,在加入 Scene 后如何处理首页被覆盖的 Fragment 等其生命周期的兼容方案
2,优化 NavigationScene push 的 API,想加入类似官方 Navigation component 的 navOptions DSL 这种

findNavController().navigate(
    R.id.action_fragmentOne_to_fragmentTwo,
    null,
    navOptions { // Use the Kotlin DSL for building NavOptions
        anim {
            enter = android.R.animator.fade_in
            exit = android.R.animator.fade_out
        }
    }
)
navigationScene?.push(TargetScene(), 
    pushOptions {
        anim {
            enter = android.R.animator.fade_in
            exit = android.R.animator.fade_out
        }
    }
)

还需要完善的

1,Scene Router,https://github.com/bytedance/scene/tree/scene_router 支持 Url 跳转,用于组件化解耦
2,Scene Dialog,https://github.com/bytedance/scene/tree/master/library/scene_dialog 解决普通 Dialog 会盖在所有 View 上面,所以封装了一套 Scene Dialog
3,Safe Argument,还没做,用注解来解决 Bundle 类型不安全

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions