mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2026-09-24 15:00:31 +08:00
107 lines
6.3 KiB
JSON
107 lines
6.3 KiB
JSON
{
|
|
"pick-a-language": "Suws-7f_6Z1ChpfcnxX2M",
|
|
"pick-a-language:kotlin": "qIzUv8-GgQnkqChEdgD50",
|
|
"pick-a-language:java": "RBABbkzD_uNFwEO-hssZO",
|
|
"the-fundamentals:development-ide": "ZRGsokU313Ky-anWbWK6q",
|
|
"the-fundamentals:basics-of-kotlin": "jl1FsQ5-WGKeFyaILNt_p",
|
|
"the-fundamentals:basics-of-oop": "j69erqfosSZMDlmKcnnn0",
|
|
"the-fundamentals:datastructures-and-algorithms": "cNeT1dJDfgn0ndPzSxhSL",
|
|
"the-fundamentals:using-gradle": "FVxNjbDBxgf6vkZWw1Awt",
|
|
"the-fundamentals:hello-world-app": "5m_7DvInF8C_4Ml1xVI6L",
|
|
"the-fundamentals": "HlUUGj3dOZ68t4gIjerXh",
|
|
"version-control": "5s1CqsYCOXjNroDHaGKGa",
|
|
"version-control:git": "rqSZ2ATeHbOdIQE9Jlb0B",
|
|
"version-control:gitlab": "Q47BtQphp59NkkZoeNXmP",
|
|
"version-control:bitbucket": "5LFZdUiFYYU_1sYsouyan",
|
|
"version-control:github": "H-2eb8fLwz8IKYXbeSVKK",
|
|
"app-components": "5Li8J5iR_ZuyIlxX0LYei",
|
|
"app-components:activity": "nwuVlPmzwJ17mtVQ8Hi9w",
|
|
"app-components:services": "PcHmU1c9hqKyzSjwlRPHk",
|
|
"app-components:content-provider": "nkcdjrswv0WCzUs48BAt9",
|
|
"app-components:broadcast-receiver": "tFuAToid1Fkmu96BDtW7K",
|
|
"app-components:intent": "hv_9imIQpthxEaMLXEUHI",
|
|
"app-components:activity:activity-lifecycle": "FVg438cVBBzqJFkGWVbQM",
|
|
"app-components:activity:state-changes": "oUjetA2eduvQIeLcQlLcu",
|
|
"app-components:activity:tasks-backstack": "-O-G9bg36ut8NnZcdOaop",
|
|
"app-components:intent:implicit-intents": "gGdz3j33x0gfrFDp_rw8Z",
|
|
"app-components:intent:explicit-intents": "TmIeCF3xVCe5Sy3ITmM31",
|
|
"app-components:intent:intent-filters": "b-sfh6NoS-APqaNKm5L5S",
|
|
"interface-and-navigation:layouts:frame": "Dp2DOX10u2xJUjB8Okhzh",
|
|
"interface-and-navigation:layouts:linear": "U8iMGGOd2EgPxSuwSG39Z",
|
|
"interface-and-navigation:layouts:relative": "yE0qAQZiEC9R8WvCdskpr",
|
|
"interface-and-navigation:layouts:constraint": "3fFNMhQIuuh-NRzSXYpXO",
|
|
"interface-and-navigation:layouts:recycle-view": "xIvplWfe-uDr9iHjPT1Mx",
|
|
"interface-and-navigation": "4_e76QafrB419S2INOeKd",
|
|
"interface-and-navigation:jetpack-compose": "60Vm-77rseUqpMiFvp-dA",
|
|
"interface-and-navigation:app-shortcuts": "xV475jHTlLuHtpHZeXb7P",
|
|
"interface-and-navigation:navigation-components": "o5rzmnaQeiSh9ocvfJPpK",
|
|
"interface-and-navigation:elements:text-view": "znvZp24L-PcQwkSObtixs",
|
|
"interface-and-navigation:elements:fragments": "2iDJrxjXOt7o2fPp2HfRl",
|
|
"interface-and-navigation:elements:edit-text": "boMz0HZlMAsLdCZlpUo-H",
|
|
"interface-and-navigation:elements:dialogs": "Mtx0bY0drmaTw8sCM5YTl",
|
|
"interface-and-navigation:elements:buttons": "WhfzFOUpm0DFEj7Oeq21R",
|
|
"interface-and-navigation:elements:toast": "BVgO9n7tGlVdiS72-hFSd",
|
|
"interface-and-navigation:elements:bottom-sheet": "Z4Tbd5ClnqCXGPGG09F-G",
|
|
"interface-and-navigation:elements:image-view": "A4rtNULX_MoV93IH1Lgqw",
|
|
"interface-and-navigation:elements:drawer": "amTxz7mS98lkhOrNMJXG_",
|
|
"interface-and-navigation:elements:list-view": "EzLjX4iRT7AxkAOsJYnSU",
|
|
"interface-and-navigation:elements:tabs": "pEBpXv3Jf1AzBNHlvVrG8",
|
|
"interface-and-navigation:elements:animations": "Xn1VQ-xOT67ZfJJTM4r1p",
|
|
"design-architecture": "jePGzTejFe4ryA5qFFmjl",
|
|
"design-architecture:architectural-patterns:mvi": "Bz-BkfzsDHAbAw3HD7WCd",
|
|
"design-architecture:architectural-patterns:mvvm": "pSU-NZtjBh-u0WKTYfjk_",
|
|
"design-architecture:architectural-patterns:mvp": "aF_xFIqTjQbENtC7pkXvJ",
|
|
"design-architecture:architectural-patterns:mvc": "w1A6wPKSd3Yh2luuHV-aE",
|
|
"design-architecture:repository-pattern": "ZF5XgO7I_J9928bD3CVXo",
|
|
"design-architecture:builder-pattern": "784fiIdKrQDlIm3VIiJQN",
|
|
"design-architecture:observer-pattern": "N_auRfGKkeIIc-qiHLkR_",
|
|
"design-architecture:dependency-injection": "qtXM9K7wyjOFuEMlZrB3C",
|
|
"design-architecture:factory-pattern": "DeOxj6RzQBYfEWV-M1Ybm",
|
|
"design-architecture:observer-pattern:flow": "W-WTIiQml8dLK6i_V69JK",
|
|
"design-architecture:observer-pattern:rxjava": "xk0vnWr7uESdzYRxwFjoK",
|
|
"design-architecture:observer-pattern:rxkotlin": "7rbsp1o5bzIJP11BRIoeG",
|
|
"design-architecture:observer-pattern:livedata": "TiokceMGU9caqiR0lbFYL",
|
|
"design-architecture:dependency-injection:dagger": "CK7Ce632fdTgxeFsRUVvd",
|
|
"design-architecture:dependency-injection:hilt": "ooo_k2k_vUBR_jQ7Ke6Et",
|
|
"design-architecture:dependency-injection:koin": "UMqZ-jmXKDXKuu8bzqDH_",
|
|
"design-architecture:dependency-injection:kodein": "dc7k50PjCYZcElHhCk66p",
|
|
"storage": "0fNQWRxst8xRstIfPaPO6",
|
|
"storage:shared-preferences": "PKql1HY0PLMfp50FRELXL",
|
|
"storage:datastore": "GWq3s1iTxQOp1BstHscJ9",
|
|
"storage:room": "Bfg4So5RlI09zFNcburJd",
|
|
"storage:file-system": "A4kdaj6AFueUgPI7hwKi5",
|
|
"network": "Yb6aKJMMCxU1QVltWg3Dr",
|
|
"network:retrofit": "dDMRYiqrKyOBnRRQc8zsp",
|
|
"network:okhttp": "5pVuwOItAhUxxJX8ysAsn",
|
|
"network:apollo-android": "ww0fTbdXwVr-QIOClU7ng",
|
|
"asynchronism": "cFYZ2C7yNnY6NHKUNP2Z4",
|
|
"asynchronism:coroutines": "i_cKmTnGAYw8xpHwZHjAd",
|
|
"asynchronism:threads": "BeGrA5BDBMZP1Jy7n-wl-",
|
|
"asynchronism:rxjava": "zXsNEyRbb8UpEOAUv6FpY",
|
|
"asynchronism:rxkotlin": "4h37WBpYxRRyw9oH8ge7o",
|
|
"asynchronism:work-manager": "OAb_JD64uGm2tPoue7w6t",
|
|
"common-services": "ZEdn2yy-IwHN3kOYr2ZbC",
|
|
"common-services:firebase:authentication": "Xv0es_z64vh-QzivMeAT3",
|
|
"common-services:firebase:crashlytics": "xB4evbD07n1VrHOIpowV4",
|
|
"common-services:firebase:remote-config": "1Tz-Shj_Tuz2U8llEAcLr",
|
|
"common-services:firebase:cloud-messaging": "e3vHFaFFMV7kI9q6yf5e9",
|
|
"common-services:firebase:fire-store": "3EEfKAd-ppIQpdQSEhbA1",
|
|
"common-services:google-admob": "D4ZXQOKJkyFYNZIy-MJ9Y",
|
|
"common-services:google-play-services": "m5rumeynEbS8T27pelr0-",
|
|
"common-services:google-maps": "S5FVF9rMgVSSDKXJW2GYb",
|
|
"linting": "77F9F3oI5CPgwgM_hxWfa",
|
|
"linting:ktlint": "zMbXQH17Q52opdbitPzj7",
|
|
"linting:detekt": "RUvuCp_JK5MQQT13SSHUV",
|
|
"debugging": "6KbSUAoT_jTudFoIbwMpA",
|
|
"debugging:timber": "VFOD4JrV8kZ2583G3oT95",
|
|
"debugging:leak-canary": "3i4g9ZWgLxKb2UMgRJi4Q",
|
|
"debugging:chucker": "7RKN1FNtRE_BE6QeAQrKb",
|
|
"debugging:jetpack-benchmark": "ACUJlDDR0jqEohsFzWEoQ",
|
|
"testing:espresso": "-ONSC-ImGSELbamKmjIlH",
|
|
"testing:junit": "gvGAwjk_nhEgxzZ_c3f6b",
|
|
"testing": "ZOQm5OlzCA-h_yxywwDrW",
|
|
"distribution": "kc6buUsLAeZeUb4Tk0apM",
|
|
"distribution:firebase-distribution": "T7q_quNaIAuGi96OdnDT1",
|
|
"distribution:google-playstore": "HgRdgi2Hu4C8YLG5PXfoo",
|
|
"distribution:signed-apk": "_FSlD_qTz5Xo0x3pB6sZI"
|
|
} |