《存量互聯網時代的大前端生存之道.pdf》由會員分享,可在線閱讀,更多相關《存量互聯網時代的大前端生存之道.pdf(63頁珍藏版)》請在三個皮匠報告上搜索。
1、存量互聯時代的 前端存之道周全快 基礎架構中負責00開頭聊點話過去輝煌的移動前端互聯突然就越挫越勇?接棒Web2.0,空前熱DAU億以下的21個獨產品中近半戶數量下滑來源:晚點 https:/ 基礎架構中心負責人架構師 AI初學者架構師,越挫越勇落地了KMP跨端技術45%鴻蒙代碼由Android復來 1000+天收益領域化架構演進 啟動+次留顯著上漲AI DevOpsAI續寫覆蓋80%AI OnCall 55%P70反饋 10%提效01保證標正確 研發資源投到正確的研發動作架構師的責任你過多少項,在年后維護?資源真的不夠嗎?約50%資源因向性錯誤停擺DeepSeek缺乏正確的標是資源不的主因
2、郭東師:單純由好奇驅動的技術探索 出于個原因發起架構活動 個決策失誤導致設錯標架構師的職責:確保標的正確性 郭東師:1.標唯且被正確描述2.標由價值驅動且這個價值可以在短期內被準確度量3.標與企業的戰略意圖相匹配且能夠形成直接的因果關系案例:鴻蒙KMP在快的落地落地了KMP跨端技術短期:45%鴻蒙代碼由Android復來 節省1000+pd 期:持續賦能三端效Kotlin MultiplaformKotlin MultiplaformKotlin MultiplaformKotlin Intermediate Representation(Kotlin IR)是種級中間表示形式,于在編譯過程中
3、進優化和代碼成MODULE_FRAGMENT name:FILE fqName:fileName:./main.kt FUN name:main visibility:public modality:FINAL ()returnType:kotlin.Unit BLOCK_BODY CALL public final fun println(message:kotlin.Any?):kotlin.Unit inline declared in kotlin.io.ConsoleKt type=kotlin.Unit origin=null message:CONST String type=k
4、otlin.String value=Hello,World!編譯器前端編譯器后端fun main()println(Hello,World!)Kotlin Source Code Kotlin 源代碼轉換詞法分析語法分析降低代碼成Lowered IRKotlin IRAST/PSI標代碼(.jar/.so/.js)源代碼(.kt)Program Structure Interface(PSI)是 IntelliJ IDEA 及其插件中于表示程序結構的級抽象跨端賽道很擁擠1)標唯且被正確描述我們需要什么樣的跨端能:與現有跨端技術互補,彌補性能與效能的缺3)與企業戰略意圖匹配2)標由價值驅動且可
5、短期度量滿架構師對“標”的要求實施過程中也要保證“過程標”正確架構師視不是PMO視1)順應技術趨勢1)順應技術趨勢VSKotlin/JS技術劣勢 多線程持差 性能基建適配成本低 編譯產物基本可直接持鴻蒙 做局部適配即可實現和 ArkTS 互調Kotlin/Native技術優勢 運原快 多線程持好基建適配成本 編譯產物不持鴻蒙,需要進編譯器適配 跨語調(ArkTS 調.so)適配成本那么如何讓KN運在鴻蒙上?標題本1.Kotlin Runtime 預編譯(cpp-.bc)2.LLVM 庫跨語接層 預編譯(.h+def-.bc)3.Kotlin IR-LLVM IR(kotlin IR-.bc)5
6、.LLVM IR-標件(.bc-.o)4.LLVM IR 合并/Runtime插(多個.bc-.bc)6.標件-進制(.o-.so)CInterop 接映射具:將.h 中的 C 法 wrapper 成 Kotlin 法,實現 Kotlin 對 C 接的訪問,此過程通過調 LLVM clang 命令實現通過 LLVM clang 命令實現,因為成產物會被下階段 LLVM 處理,所以與下階段 LLVM 版本強綁定 直接調 LLVM C API,與 LLVM API 接強綁定依賴標平臺鏈接器,通過命令鏈接平臺庫 std,成進制產物API 依賴路徑編譯路徑K/N鴻蒙編譯流程標題本1.Kotlin Ru
7、ntime 預編譯(cpp-.bc)3.Kotlin IR-LLVM IR(kotlin IR-.bc)5.LLVM IR-標件(.bc-.o)4.LLVM IR 合并/Runtime插(多個.bc-.bc)6.標件-進制(.o-.so)保證LLVM兼容性保證多平臺實現可以編譯為統LLVM IR將LLVM IR轉換成標平臺可執產物Kotlin:LLVM 11鴻蒙:LLVM 15標題本1.Kotlin Runtime 預編譯(cpp-.bc)3.Kotlin IR-LLVM IR(kotlin IR-.bc)5.LLVM IR-標件(.bc-.o)4.LLVM IR 合并/Runtime插(多個
8、.bc-.bc)6.標件-進制(.o-.so)保證LLVM兼容性保證多平臺實現可以編譯為統LLVM IR將LLVM IR轉換成標平臺可執產物Kotlin:LLVM 12鴻蒙:LLVM 12Gradle適配定制KMP Gradle插件,添加OHOS Target(照著Linux抄會容易些)2)順應性Kotlin和OC的交互Swift還甜蜜原 OC原 JavaCKMPKT和JS就不那么甜蜜類似JNI式類似RN式Kotlin-CC-JSKotlin JSKotlin JSKotlin JSKotlin JSKotlin JS開源計劃2024 Kotlin 中開發者會Kotlin Conf 2024
9、BeijingKNAPI 敬請期待3)順應經濟價值-RoadMap02保證價值交付 讓研發動作產充的研發價值架構師的職責案例:領域化業務架構演進“有個,你優化下,先不管指標”你信嗎?到底做性能優化、還是穩定性優化 做秒開還是做卡頓?架構師的職責:保證價值交付定位價值 保證價值最化按領域洞察架構問題根據領域進分辨率問題診斷依循領域價值順序,實施架構治理動作私信領域化治理啟動次數+0.1%次留+0.03%秒開+8%卡頓-2%依循領域價值順序,實施架構治理動作基于價值交付的架構演進式03注重期價值 有限的成果撬動更多資源架構師的職責三關注期價值,撬動更多資源只關注短期價值,會逐漸陷資源緊縮的螺旋架構師的職責三:關注期價值架構師的職責三:關注期價值NERVER END越挫越勇負循環只有這個嗎?Manus答不出來,但架構師知道:THANKS