{"id":2148,"date":"2011-12-26T18:21:13","date_gmt":"2011-12-26T17:21:13","guid":{"rendered":"http:\/\/www.gamlor.info\/wordpress\/?p=2148"},"modified":"2021-11-22T07:34:14","modified_gmt":"2021-11-22T06:34:14","slug":"yeah-akka-20","status":"publish","type":"post","link":"https:\/\/www.gamlor.info\/wordpress\/2011\/12\/yeah-akka-20\/","title":{"rendered":"Yeah, Akka 2.0"},"content":{"rendered":"<p>The first pre release bits of Akka 2.0 have been released. Unfortunately I haven\u2019t looked all that deep into it yet. However, what I\u2019ve seen really impresses me. It fixes nearly all major issues which Akka 1.2 and feels way more mature in its overall design.<\/p>\n<p>It feels like it can be the back-bone of an application, even when you use it to organizing big chunks of distinct functionality. When you start a project \/ experiment now start with Akka 2.0! It\u2019s a much better experience than 1.2!<\/p>\n<div id=\"attachment_2154\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/akka-20.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2154\" class=\"size-medium wp-image-2154\" title=\"akka-20\" src=\"https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/akka-20-300x132.png\" alt=\"Akka 2.0\" width=\"300\" height=\"132\" srcset=\"https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/akka-20-300x132.png 300w, https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/akka-20.png 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-2154\" class=\"wp-caption-text\">Akka 2.0&nbsp;<\/p><\/div>\n<h2>What I Really Like About it<\/h2>\n<ul>\n<li>No god damn Singleton anymore. In Akka 1.2 the configuration and the remoting instance where hard wired Singletons. That made it really annoying to set up elaborate test cases, shut down the system cleanly etc. In Akka 2.0 you can start up as many \u2018ActorSystem\u2019-instances as you want, each one with its own configuration, setup etc.<\/li>\n<li>Supervision is mandatory and easier to configure. In Akka 1.2 you can create actors without any parent and supervision. This basically also meant that errors just \u2018disappeared\u2019 and you only noticed stuff the log. In Akka 2.0 a supervision hierarchy is enforced. Error are past up to the appropriate supervisor. If you don\u2019t specify anything the error basically will end up at the top level actor system.<\/li>\n<li>The path-system. Now actors are basically addressed by file-system like paths. This is handy to get to the right actors. It\u2019s also handy for error-logs: Instead of a cryptic UUID you get a \u2018human-readable\u2019 path.<\/li>\n<li>Streamlined API. Nearly all API\u2019s have been improved and streamlined.<\/li>\n<\/ul>\n<div id=\"attachment_2155\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/supervision-in-akka.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2155\" class=\"size-medium wp-image-2155\" title=\"supervision-in-akka\" src=\"https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/supervision-in-akka-300x209.png\" alt=\"Supervision Mandatory\" width=\"300\" height=\"209\" srcset=\"https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/supervision-in-akka-300x209.png 300w, https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/supervision-in-akka-1024x714.png 1024w, https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/supervision-in-akka.png 1100w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-2155\" class=\"wp-caption-text\">Supervision Mandatory<\/p><\/div>\n<h2>What I Don\u2019t Like About It<\/h2>\n<ul>\n<li>Many, many breaking changes in the API, behavior etc. Of course all these fundamental improvements are not possible without breaking the API. However, porting stuff to new API\u2019s is just no fun work.<\/li>\n<li>The core jar is larger. Not a big deal for most cases, except for Android. Anyway, I run everything through Proguard anyway. And I believe that the internals got more efficient. =)<\/li>\n<\/ul>\n<div id=\"attachment_2156\" style=\"width: 259px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/larger-akka-20.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2156\" class=\"size-medium wp-image-2156\" title=\"larger-akka-20\" src=\"https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/larger-akka-20-249x300.png\" alt=\"Akka 2.0 is a tiny bit larger (and a lot stronger)\" width=\"249\" height=\"300\" srcset=\"https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/larger-akka-20-249x300.png 249w, https:\/\/www.gamlor.info\/wordpress\/wp-content\/uploads\/2011\/12\/larger-akka-20.png 400w\" sizes=\"(max-width: 249px) 100vw, 249px\" \/><\/a><p id=\"caption-attachment-2156\" class=\"wp-caption-text\">Akka 2.0 is a tiny bit larger (and a lot stronger)<\/p><\/div>\n<h2>Akka-Mobile and Akka 2.0<\/h2>\n<p>In general I\u2019m stabilizing my Akka-Mobile code right now and fix some catastrophic bugs. After that I certainly will move everything to 2.0. I\u2019m not planning to keep it on the 1.2\/1.3 release. This is the plan:<\/p>\n<ul>\n<li>Stabilize stuff.<\/li>\n<li>Move to Akka 2.0<\/li>\n<li>Write documentation and a tiny demo App<\/li>\n<li>Keep on improving the thing =)<\/li>\n<\/ul>\n<p>Ok, this was kind of a lazy ass blog-post. For more information go the <a href=\"http:\/\/blog.typesafe.com\/akka-20-pre-release-milestone-1\">Akka-blog<\/a> &amp; <a href=\"http:\/\/akka.io\/docs\/akka\/snapshot\/index.html\">Snapshot<\/a>-documentation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The first pre release bits of Akka 2.0 have been released. Unfortunately I haven\u2019t looked all that deep into it yet. However, what I\u2019ve seen really impresses me. It fixes&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[243],"tags":[245,297,226],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/posts\/2148"}],"collection":[{"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/comments?post=2148"}],"version-history":[{"count":10,"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/posts\/2148\/revisions"}],"predecessor-version":[{"id":3916,"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/posts\/2148\/revisions\/3916"}],"wp:attachment":[{"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/media?parent=2148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/categories?post=2148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/tags?post=2148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}