{"id":814,"date":"2023-07-10T16:56:09","date_gmt":"2023-07-10T14:56:09","guid":{"rendered":"http:\/\/blog.ansuz.nl\/?p=814"},"modified":"2023-07-10T16:56:11","modified_gmt":"2023-07-10T14:56:11","slug":"appdevcon-2023","status":"publish","type":"post","link":"http:\/\/blog.ansuz.nl\/index.php\/2023\/07\/10\/appdevcon-2023\/","title":{"rendered":"AppDevCon 2023"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">9:50: <a rel=\"noreferrer noopener\" href=\"https:\/\/appdevcon.nl\/session\/voyage-to-planet-x-the-lesser-known-libraries-of-kotlinx\/\" target=\"_blank\">Voyage to planet X \u2013 The lesser-known libraries of kotlinx<\/a><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Severn Everett (Backend Developer)<\/h3>\n\n\n\n<p>Some interesting libraries that I wasn&#8217;t familiar with yet:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/JetBrains\/lincheck\" data-type=\"URL\" data-id=\"https:\/\/github.com\/JetBrains\/lincheck\" target=\"_blank\" rel=\"noreferrer noopener\">Lincheck<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/Kotlin\/kotlinx-atomicfu\" target=\"_blank\" rel=\"noreferrer noopener\">AtomicFU<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/Kotlin\/kotlinx-datetime\" target=\"_blank\" rel=\"noreferrer noopener\">DateTime<\/a><\/li>\n<\/ul>\n\n\n\n<p>Already known libs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/Kotlin\/kotlinx.serialization\" target=\"_blank\" rel=\"noreferrer noopener\">Serialization<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">10:55 <a href=\"https:\/\/appdevcon.nl\/session\/solid-principles-in-5-nightmares\/\" target=\"_blank\" rel=\"noreferrer noopener\">SOLID principles in 5 nightmares<\/a><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Simon Painter (Senior Developer)<\/h3>\n\n\n\n<p>Fun talk about the SOLID principles, with the help of some slightly imaginative examples taken from a popular SF franchise. Simon explained what are they, what nightmare scenarios can occur if they aren\u2019t followed, and how they can subsequently be applied.<br>You can find this talk on the <a href=\"https:\/\/www.youtube.com\/watch?v=0vJb_B47J6U\" target=\"_blank\" rel=\"noreferrer noopener\">Developer Days Youtube channel<\/a> as well.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">11:50 <a href=\"https:\/\/appdevcon.nl\/session\/using-compose-runtime-to-create-a-client-library\/\" target=\"_blank\" rel=\"noreferrer noopener\">Using Compose runtime to create a client library<\/a><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Fatih Giri? (Android Lead)<\/h3>\n\n\n\n<p>How to (ab)use (Android Jetpack) Compose to generate PowerPoint slides. In the mean time he explained how Compose works.<br>The <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/fgiris\/composePPT\" target=\"_blank\">ComposePPT<\/a> project is also available on Github.<br>A video of his talk (at another conference) is available on the <a href=\"https:\/\/www.droidcon.com\/2022\/08\/02\/using-compose-runtime-to-create-a-client-library\/\" target=\"_blank\" rel=\"noreferrer noopener\">Droidcon website<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">13:15 <a href=\"https:\/\/appdevcon.nl\/session\/observation-based-product-development-using-flutter\/\" target=\"_blank\" rel=\"noreferrer noopener\">Observation-based product development using Flutter<\/a><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Mangirdas Kazlauskas (GDE for Flutter &amp; Dart)<\/h3>\n\n\n\n<p>How to use app monitoring, product metrics and UX feedback to improve your app.<br>Check out the full presentation on the <a href=\"https:\/\/www.droidcon.com\/2022\/11\/16\/observation-based-product-development-using-flutter\/\" target=\"_blank\" rel=\"noreferrer noopener\">Droidcon website<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">14:10: <a href=\"https:\/\/appdevcon.nl\/session\/common-mistakes-in-ui-testing\/\" target=\"_blank\" rel=\"noreferrer noopener\">Common mistakes in UI testing<\/a><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Alex Zhukovich (Senior Android developer)<\/h3>\n\n\n\n<p>Some tips on how to write and maintain UI tests, without getting too frustrated.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">15:15 <a href=\"https:\/\/appdevcon.nl\/session\/imperative-declarative-object-oriented-functional-four-of-a-kotlin-kind\/\" target=\"_blank\" rel=\"noreferrer noopener\">Imperative, declarative, object oriented, functional: four of a Kotlin kind<\/a><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Maia Grotepass (Android principal)<\/h3>\n\n\n\n<p>A comparative view of four interrelated programming paradigms: imperative, declarative, object oriented and functional \u2013 from a Kotlin perspective.<br>We use all four kinds while working on an Android app.<br>The complete presentation is available on the <a href=\"https:\/\/www.youtube.com\/watch?v=GY3ImFPfaRI\" target=\"_blank\" rel=\"noreferrer noopener\">I Code Java SA Youtube channel<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">16:10 <a href=\"https:\/\/appdevcon.nl\/session\/decision-making-for-developers\/\" target=\"_blank\" rel=\"noreferrer noopener\">Decision-making for developers<\/a><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Rick Kuipers (CTO)<\/h3>\n\n\n\n<p>Tips to help developers to make decisions.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>7 steps to effective decision making<\/li>\n\n\n\n<li>Pre-mortem<\/li>\n\n\n\n<li>Decision making framework<\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/adr.github.io\/\" target=\"_blank\">Architecture Decision Record<\/a> (ADR)<\/li>\n<\/ul>\n\n\n\n<p>There&#8217;s a recap available at the <a href=\"https:\/\/www.youtube.com\/watch?v=wjdyWA5SrxY\" target=\"_blank\" rel=\"noreferrer noopener\">DIJ.digital Youtube channel<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">16:45 <a href=\"https:\/\/appdevcon.nl\/session\/being-human-in-times-of-exponential-technology\/\" target=\"_blank\" rel=\"noreferrer noopener\">Keynote\/Being human in times of exponential technology<\/a><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Rens van der Vorst (Technophilosopher)<\/h3>\n\n\n\n<p>Funny and inspirational talk about the downside(s) of technology.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Videos<\/h2>\n\n\n\n<p>I hope to see all videos from the talks on the AppDevCon website soon.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>9:50: Voyage to planet X \u2013 The lesser-known libraries of kotlinx Severn Everett (Backend Developer) Some interesting libraries that I wasn&#8217;t familiar with yet: Already known libs: 10:55 SOLID principles in 5 nightmares Simon Painter (Senior Developer) Fun talk about &hellip; <a href=\"http:\/\/blog.ansuz.nl\/index.php\/2023\/07\/10\/appdevcon-2023\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[112,170,172],"tags":[],"class_list":["post-814","post","type-post","status-publish","format-standard","hentry","category-android","category-general-programming","category-kotlin"],"_links":{"self":[{"href":"http:\/\/blog.ansuz.nl\/index.php\/wp-json\/wp\/v2\/posts\/814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.ansuz.nl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.ansuz.nl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.ansuz.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.ansuz.nl\/index.php\/wp-json\/wp\/v2\/comments?post=814"}],"version-history":[{"count":4,"href":"http:\/\/blog.ansuz.nl\/index.php\/wp-json\/wp\/v2\/posts\/814\/revisions"}],"predecessor-version":[{"id":818,"href":"http:\/\/blog.ansuz.nl\/index.php\/wp-json\/wp\/v2\/posts\/814\/revisions\/818"}],"wp:attachment":[{"href":"http:\/\/blog.ansuz.nl\/index.php\/wp-json\/wp\/v2\/media?parent=814"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.ansuz.nl\/index.php\/wp-json\/wp\/v2\/categories?post=814"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.ansuz.nl\/index.php\/wp-json\/wp\/v2\/tags?post=814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}