{"id":142250,"date":"2021-03-16T09:04:55","date_gmt":"2021-03-16T09:04:55","guid":{"rendered":"https:\/\/devdays.lt\/?page_id=142250"},"modified":"2021-06-09T07:35:30","modified_gmt":"2021-06-09T07:35:30","slug":"raul-hernandez-lopez","status":"publish","type":"page","link":"https:\/\/devdays.lt\/raul-hernandez-lopez\/","title":{"rendered":"Raul Hernandez Lopez"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; disabled_on=&#8221;on|on|on&#8221; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;0px||0px||true|&#8221; disabled=&#8221;on&#8221; global_module=&#8221;142342&#8243; saved_tabs=&#8221;all&#8221;][et_pb_row module_id=&#8221;sticky&#8221; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#fc5a1b&#8221; width=&#8221;100%&#8221; max_width=&#8221;2560px&#8221; custom_padding=&#8221;16px||16px||true|&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; link_font=&#8221;|600|||||||&#8221; link_text_color=&#8221;#FFFFFF&#8221; link_font_size=&#8221;20px&#8221; link_font_size__hover_enabled=&#8221;on|hover&#8221; link_font_size__hover=&#8221;21px&#8221;]<\/p>\n<p style=\"text-align: center;\"><a href=\"\/tickets\/\">Easter Offer: Get 3 For 2 tickets here!<\/a><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; disabled_on=&#8221;on|on|off&#8221; admin_label=&#8221;Home&#8221; module_id=&#8221;Home&#8221; _builder_version=&#8221;4.0.6&#8243; background_enable_color=&#8221;off&#8221; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_start=&#8221;rgba(10,30,96,0.5)&#8221; background_color_gradient_end=&#8221;rgba(10,30,96,0.5)&#8221; background_color_gradient_overlays_image=&#8221;on&#8221; background_image=&#8221;https:\/\/devdays.lt\/wp-content\/uploads\/2020\/01\/devd-201-1368&#215;855-1.jpg&#8221; custom_margin=&#8221;0px|0px|0px|0px&#8221; bottom_divider_style=&#8221;arrow2&#8243; bottom_divider_color=&#8221;#ffffff&#8221; bottom_divider_height=&#8221;50px&#8221; bottom_divider_flip=&#8221;vertical&#8221; global_module=&#8221;137943&#8243;][et_pb_fullwidth_header text_orientation=&#8221;center&#8221; background_overlay_color=&#8221;rgba(0,43,94,0.63)&#8221; _builder_version=&#8221;4.9.0&#8243; title_font=&#8221;|700|||||||&#8221; title_text_color=&#8221;#ffffff&#8221; title_font_size=&#8221;55px&#8221; background_color=&#8221;rgba(255, 255, 255, 0)&#8221; custom_button_one=&#8221;on&#8221; button_one_text_color=&#8221;#509af5&#8243; button_one_bg_color=&#8221;#ffffff&#8221; button_one_border_color=&#8221;#ffffff&#8221; button_one_font=&#8221;|600|||||||&#8221; button_one_use_icon=&#8221;off&#8221; custom_button_two=&#8221;on&#8221; button_two_text_color=&#8221;#509af5&#8243; button_two_border_color=&#8221;#509af5&#8243; button_two_font=&#8221;|600|||||||&#8221; button_two_icon_color=&#8221;#509af5&#8243; background_layout=&#8221;light&#8221; custom_margin=&#8221;|||&#8221; custom_padding=&#8221;50px||60px||false|false&#8221; button_one_border_color_hover=&#8221;#509af5&#8243; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;on&#8221; button_one_border_color__hover=&#8221;#509af5&#8243; button_two_border_color__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221;]<\/p>\n<h1>DevDays Europe <span style=\"color: #509bf5;\">2021<\/span><\/h1>\n<div class=\"header-icons-container\">\n<div>\n<p><img class=\"wp-image-124282 aligncenter size-full\" data-src=\"https:\/\/devdays.lt\/testovyj\/assets\/images\/calendar-icon.png\" alt=\"date\" src=\"https:\/\/devdays.lt\/testovyj\/assets\/images\/calendar-icon.png\" \/><\/p>\n<p class=\"header-icons-calendar\">June 8-10<\/p>\n<\/div>\n<div>\n<p><img class=\"wp-image-124282 aligncenter size-full\" data-src=\"https:\/\/devdays.lt\/testovyj\/assets\/images\/venue.png\" alt=\"venue\" src=\"https:\/\/devdays.lt\/testovyj\/assets\/images\/venue.png\" \/><\/p>\n<p class=\"header-icons-venue\">Online<\/p>\n<\/div>\n<\/div>\n<p>[\/et_pb_fullwidth_header][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; custom_padding_last_edited=&#8221;on|tablet&#8221; _builder_version=&#8221;4.0.6&#8243; background_enable_color=&#8221;off&#8221; custom_padding=&#8221;30px|||||&#8221; custom_padding_tablet=&#8221;30px||||false|false&#8221; custom_padding_phone=&#8221;0px||||false|false&#8221;][et_pb_row column_structure=&#8221;2_5,3_5&#8243; _builder_version=&#8221;4.4.2&#8243; background_color=&#8221;#ffffff&#8221; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_start=&#8221;#c6c6c6&#8243; background_color_gradient_end=&#8221;#ffffff&#8221; background_color_gradient_start_position=&#8221;19%&#8221; width_tablet=&#8221;100%&#8221; width_phone=&#8221;&#8221; width_last_edited=&#8221;on|phone&#8221; max_width=&#8221;850px&#8221; custom_margin=&#8221;||15px||false|false&#8221; custom_padding=&#8221;10px|0px|10px|0px|true|true&#8221; border_radii=&#8221;off|3px|3px||&#8221; border_radii_tablet=&#8221;off|0px|0px||&#8221; border_radii_phone=&#8221;&#8221; border_radii_last_edited=&#8221;on|desktop&#8221; box_shadow_style=&#8221;preset1&#8243; locked=&#8221;off&#8221;][et_pb_column type=&#8221;2_5&#8243; _builder_version=&#8221;3.29.3&#8243;][et_pb_image src=&#8221;https:\/\/devdays.lt\/wp-content\/uploads\/2021\/03\/DD_RaulHernandezLopez_500x500_round-2.png&#8221; title_text=&#8221;DD_RaulHernandezLopez_500x500_round (2)&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.9.0&#8243; max_width=&#8221;80%&#8221; custom_padding=&#8221;0px|||||&#8221;][\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;3_5&#8243; _builder_version=&#8221;3.29.3&#8243;][et_pb_text _builder_version=&#8221;4.9.0&#8243; text_font=&#8221;|600|||||||&#8221; text_text_color=&#8221;#509af5&#8243; text_font_size=&#8221;30px&#8221; custom_margin=&#8221;30px||||false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;0px||||false|false&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; text_orientation_tablet=&#8221;&#8221; text_orientation_phone=&#8221;center&#8221; text_orientation_last_edited=&#8221;on|phone&#8221;]<\/p>\n<p>Raul Hernandez Lopez<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.0&#8243; text_text_color=&#8221;#424242&#8243; text_font_size=&#8221;16px&#8221; custom_padding=&#8221;||10px||false|false&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;50ms&#8221; text_orientation_tablet=&#8221;&#8221; text_orientation_phone=&#8221;center&#8221; text_orientation_last_edited=&#8221;on|phone&#8221;]<strong>Position:<\/strong> Android Senior Software Engineer<\/p>\n<p><strong>Company:<\/strong> Twitter<\/p>\n<p><strong>Country:<\/strong> UK[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row custom_padding_last_edited=&#8221;on|tablet&#8221; _builder_version=&#8221;4.0.6&#8243; background_color=&#8221;#ffffff&#8221; width_tablet=&#8221;100%&#8221; width_phone=&#8221;&#8221; width_last_edited=&#8221;on|tablet&#8221; max_width=&#8221;850px&#8221; max_width_tablet=&#8221;850px&#8221; max_width_phone=&#8221;&#8221; max_width_last_edited=&#8221;on|tablet&#8221; custom_padding=&#8221;30px|46px|30px|46px|false|true&#8221; custom_padding_tablet=&#8221;|30px||30px|true|true&#8221; custom_padding_phone=&#8221;|20px||20px|false|true&#8221; border_radii=&#8221;off|||3px|3px&#8221; box_shadow_style=&#8221;preset1&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.29.3&#8243;][et_pb_text _builder_version=&#8221;4.0.6&#8243; text_font=&#8221;|600|||||||&#8221; text_text_color=&#8221;#509bf5&#8243; text_font_size=&#8221;22px&#8221; header_font=&#8221;|600|||||||&#8221; header_text_align=&#8221;left&#8221; header_text_color=&#8221;#002258&#8243; custom_margin=&#8221;||5px|0px&#8221; custom_padding=&#8221;10px|||&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;100ms&#8221;]<\/p>\n<p>Biography<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.0&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;15px&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;150ms&#8221;]<\/p>\n<p style=\"text-align: justify;\">Raul would like to introduce himself as a continuous learner apart from being an experienced Software Engineer (currently at Twitter), specialized on the Android platform &amp; the Kotlin language.<\/p>\n<p style=\"text-align: justify;\">Moreover, he&#8217;s a public speaker when gets the chance for it, so far he&#8217;s participated like an international speaker in different events over the years. In addition to that, he writes some articles, typically not technical at the end of the year to summarize the past year and technical ones too.<\/p>\n<p style=\"text-align: justify;\">He&#8217;s originally from Valencia (Spain), where they use to love paella and horchata, nowadays he&#8217;s living, working (from home) in London (UK) but he&#8217;d also lived\/worked in Antwerp (Belgium) for almost 1 year and a half.<\/p>\n<p style=\"text-align: justify;\">He loves travelling when he can, listening music metal\/rock gigs, reading tech\/no-tech books, hanging out with friends, a very cold beer or running sometimes.<\/p>\n<p>[\/et_pb_text][et_pb_social_media_follow use_icon_font_size=&#8221;on&#8221; icon_font_size=&#8221;15px&#8221; _builder_version=&#8221;4.9.0&#8243; text_orientation=&#8221;left&#8221; custom_margin=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;50ms&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;][et_pb_social_media_follow_network social_network=&#8221;linkedin&#8221; url=&#8221;https:\/\/www.linkedin.com\/in\/raulhernandezl&#8221; _builder_version=&#8221;4.9.0&#8243; background_color=&#8221;#007bb6&#8243; follow_button=&#8221;off&#8221; url_new_window=&#8221;on&#8221;]linkedin[\/et_pb_social_media_follow_network][et_pb_social_media_follow_network social_network=&#8221;twitter&#8221; background_color=&#8221;#00aced&#8221; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; follow_button=&#8221;off&#8221; url_new_window=&#8221;on&#8221; url=&#8221;https:\/\/twitter.com\/RaulHernandezL&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;]twitter[\/et_pb_social_media_follow_network][\/et_pb_social_media_follow][et_pb_text _builder_version=&#8221;4.0.6&#8243; text_font=&#8221;|600|||||||&#8221; text_text_color=&#8221;#021244&#8243; text_font_size=&#8221;20px&#8221; header_font=&#8221;|600|||||||&#8221; header_text_align=&#8221;left&#8221; header_text_color=&#8221;#002258&#8243; custom_margin=&#8221;||5px|0px&#8221; custom_padding=&#8221;10px|||&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;100ms&#8221;]<\/p>\n<p>Talk<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.0&#8243; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#ffffff&#8221; header_font=&#8221;|600|||||||&#8221; header_text_color=&#8221;#509bf5&#8243; max_width=&#8221;100%&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px|||&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;100ms&#8221; saved_tabs=&#8221;all&#8221;]<\/p>\n<h1>Getting ready for Declarative UIs with Unidirectional Data Flow using Kotlin Coroutines<\/h1>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.0&#8243; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#666666&#8243; text_font_size=&#8221;15px&#8221; custom_padding=&#8221;0px||||false|false&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221;]<\/p>\n<p style=\"text-align: justify;\">Unidirectional Data Flow (UDF) is a powerful technique that enhances our Reactive apps to work deterministically. Synchronising our views with fresh data was never an easy task to accomplish. For this same reason, there are mechanisms that support us to make that possible. Surely callbacks were a thing in the past, however, they were an antipattern themselves due to the lack of readability. Now we don&#8217;t need to deal with them any more thanks to Kotlin Coroutines. Getting ready for Declarative UIs with Kotlin Coroutines and friends is indeed feasible, now we could use suspend functions, Flow and in the end StateFlow would make our Reactive apps ready for Declarative UIs. Let\u2019s define a single entry point, receive data, transform it into a state, and render each state. Let\u2019s get our apps ready for a Declarative UI world on Android.<\/p>\n<p style=\"text-align: justify;\">You&#8217;ll learn how to use Kotlin Coroutines and friends from the Kotlin Coroutines library to take advantage of really efficient and easy to read code. How to handle its lifecycle without being compromised to a specific external Android framework, which would enable your code to be prepared for more purposes than Android only apps.\u00a0<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.0.6&#8243; text_font=&#8221;|600|||||||&#8221; text_text_color=&#8221;#509bf5&#8243; text_font_size=&#8221;22px&#8221; header_font=&#8221;|600|||||||&#8221; header_text_align=&#8221;left&#8221; header_text_color=&#8221;#002258&#8243; custom_margin=&#8221;||5px|0px&#8221; custom_padding=&#8221;10px|||&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221;]<\/p>\n<p>Session Keywords<\/p>\n<p>[\/et_pb_text][et_pb_code _builder_version=&#8221;4.9.0&#8243; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1200ms&#8221; animation_delay=&#8221;50ms&#8221;]<\/p>\n<div class=\"flex-grid-session-keys\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"flex-grid-item-keyword\"><!-- [et_pb_line_break_holder] -->  <span class=\"tagas\">&#x1f511;<\/span> <!-- [et_pb_line_break_holder] -->Declarative UIs<!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"flex-grid-item-keyword\"><!-- [et_pb_line_break_holder] -->  <span class=\"tagas\">&#x1f511;<\/span> <!-- [et_pb_line_break_holder] -->Unidirectional Data Flow<!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"flex-grid-item-keyword\"><!-- [et_pb_line_break_holder] -->  <span class=\"tagas\">&#x1f511;<\/span> <!-- [et_pb_line_break_holder] -->Kotlin Coroutines<!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"flex-grid-item-keyword\"><!-- [et_pb_line_break_holder] -->  <span class=\"tagas\">&#x1f511;<\/span> <!-- [et_pb_line_break_holder] -->Kotlin Coroutines<!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.0.6&#8243; custom_padding=&#8221;50px||||false|false&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.0.6&#8243;][et_pb_text _builder_version=&#8221;4.4.2&#8243; text_font=&#8221;|700|||||||&#8221; text_text_color=&#8221;#666666&#8243; animation_style=&#8221;fade&#8221; animation_duration=&#8221;1400ms&#8221; animation_delay=&#8221;50ms&#8221; global_module=&#8221;128838&#8243;]<\/p>\n<p style=\"cursor: pointer; text-align: center;\" onclick=\"goBack()\">\u00ab Back<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>DevDays Europe 2021 Raul Hernandez Lopez Position: Android Senior Software Engineer Company: Twitter Country: UK Biography Raul would like to introduce himself as a continuous learner apart from being an experienced Software Engineer (currently at Twitter), specialized on the Android platform &amp; the Kotlin language. Moreover, he&#8217;s a public speaker when gets the chance for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":""},"_links":{"self":[{"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/pages\/142250"}],"collection":[{"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/comments?post=142250"}],"version-history":[{"count":5,"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/pages\/142250\/revisions"}],"predecessor-version":[{"id":143191,"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/pages\/142250\/revisions\/143191"}],"wp:attachment":[{"href":"https:\/\/devdays.lt\/wp-json\/wp\/v2\/media?parent=142250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}