{"guid":"48658336-215b-4957-93d5-98bba8684de0","title":"Composable UI Components","subtitle":null,"slug":"bob2022-composable-ui-components-schlegel","link":"https://bobkonf.de/2022/schlegel.html","description":"It has now been a decade since React revolutionized\n\tfrontend GUI programming with ideas from functional\n\tprogramming. After ten years, however, the promise of simple\n\tprogram logic for complex apps is still not fulfilled. State\n\tmanagement remains an unsolved problem. In this talk I propose\n\tthat we take to functional programming again to escape this\n\tmisery. We analyze code “in its transient nature not less than\n\tits momentary existence” so that at the end of our journey we\n\tfind lenses and stores and true lossless\n\tcomposability. ","original_language":"eng","persons":["Markus Schlegel"],"tags":["bob2022","109","2022","Talk","BOB","BOBKonferenz"],"view_count":129,"promoted":false,"date":"2022-03-11T10:15:00.000+01:00","release_date":"2022-09-05T00:00:00.000+02:00","updated_at":"2025-12-11T21:00:08.243+01:00","length":1940,"duration":1940,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2022/109-48658336-215b-4957-93d5-98bba8684de0.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2022/109-48658336-215b-4957-93d5-98bba8684de0_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2022/109-48658336-215b-4957-93d5-98bba8684de0.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2022/109-48658336-215b-4957-93d5-98bba8684de0.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2022-composable-ui-components-schlegel","url":"https://api.media.ccc.de/public/events/48658336-215b-4957-93d5-98bba8684de0","conference_title":"BOB Konferenz 2022","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022","related":[],"recordings":[{"size":97,"length":1940,"mime_type":"video/webm","language":"eng","filename":"bob2022-109-eng-Composable_UI_Components_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2022-09-05T21:02:06.272+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2022/webm-hd/bob2022-109-eng-Composable_UI_Components_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/61543","event_url":"https://api.media.ccc.de/public/events/48658336-215b-4957-93d5-98bba8684de0","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022"},{"size":46,"length":1940,"mime_type":"video/webm","language":"eng","filename":"bob2022-109-eng-Composable_UI_Components_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2022-09-05T20:48:15.159+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2022/webm-sd/bob2022-109-eng-Composable_UI_Components_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/61538","event_url":"https://api.media.ccc.de/public/events/48658336-215b-4957-93d5-98bba8684de0","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022"},{"size":41,"length":1940,"mime_type":"video/mp4","language":"eng","filename":"bob2022-109-eng-Composable_UI_Components_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2022-09-05T20:43:04.070+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2022/h264-sd/bob2022-109-eng-Composable_UI_Components_sd.mp4","url":"https://api.media.ccc.de/public/recordings/61535","event_url":"https://api.media.ccc.de/public/events/48658336-215b-4957-93d5-98bba8684de0","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022"},{"size":29,"length":1940,"mime_type":"audio/mpeg","language":"eng","filename":"bob2022-109-eng-Composable_UI_Components_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2022-09-05T20:40:15.858+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2022/mp3/bob2022-109-eng-Composable_UI_Components_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/61530","event_url":"https://api.media.ccc.de/public/events/48658336-215b-4957-93d5-98bba8684de0","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022"},{"size":18,"length":1940,"mime_type":"audio/opus","language":"eng","filename":"bob2022-109-eng-Composable_UI_Components_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2022-09-05T20:39:59.833+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2022/opus/bob2022-109-eng-Composable_UI_Components_opus.opus","url":"https://api.media.ccc.de/public/recordings/61529","event_url":"https://api.media.ccc.de/public/events/48658336-215b-4957-93d5-98bba8684de0","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022"},{"size":69,"length":1940,"mime_type":"video/mp4","language":"eng","filename":"bob2022-109-eng-Composable_UI_Components_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2022-09-05T20:39:57.738+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2022/h264-hd/bob2022-109-eng-Composable_UI_Components_hd.mp4","url":"https://api.media.ccc.de/public/recordings/61528","event_url":"https://api.media.ccc.de/public/events/48658336-215b-4957-93d5-98bba8684de0","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022"}]}