{"id":555,"date":"2017-01-11T14:09:09","date_gmt":"2017-01-11T22:09:09","guid":{"rendered":"http:\/\/www.ewert-technologies.ca\/blogs\/?p=555"},"modified":"2017-01-11T14:09:09","modified_gmt":"2017-01-11T22:09:09","slug":"java-to-bundle-or-not","status":"publish","type":"post","link":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/","title":{"rendered":"Java: To bundle or not"},"content":{"rendered":"<h2><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-565 size-full\" src=\"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/226px-Wave.svg_.png?resize=200%2C360&#038;ssl=1\" alt=\"Duke Waving\" width=\"200\" height=\"360\" srcset=\"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/226px-Wave.svg_.png?w=200&amp;ssl=1 200w, https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/226px-Wave.svg_.png?resize=167%2C300&amp;ssl=1 167w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/>Introduction<\/h2>\n<p>As every Java application developer knows, in order for your users to use your application, they need a <a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javase\/overview\/index.html\" target=\"_blank\">Java Runtime Environment (JRE)<\/a> on their computer. Traditionally, this was done by providing the user with instructions on how to download and install a JRE (or check if they have he correct JRE), prior to installing your software. In recent years, particularly with the gaining popularity of JavaFX, and because of Mac App Store requirements, the trend has been moving towards bundling a JRE with your application. As a Java developer, I&#8217;ve been debating this in my mind, and can see both pros and cons of bundling a JRE.<\/p>\n<h2><i class=\"fa fa-thumbs-o-up \" ><\/i> Pros of bundling a JRE<\/h2>\n<p>Bundling a JRE, basically means that your application includes its own JRE, that gets installed, along with your application; typically within the same folder (Windows) or within the app bundle (Mac). The biggest advantage to bundling, is that your users don&#8217;t need to worry about installing or managing JREs, and can just use your application. A second advantage is that you can better control which version of the JRE will be used with your application. Additionally, if you want to distribute your Java application on the Mac App Store, it needs to include a bundled JRE.<\/p>\n<h2><i class=\"fa fa-thumbs-o-down \" ><\/i> Cons of bundling a JRE<\/h2>\n<p>The biggest con of bundling a JRE, is that users won&#8217;t always being most current JRE available, when running your application. <a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javase\/overview\/index.html\" target=\"_blank\">Oracle<\/a> is currently releasing regular updates to Java 8 every 3 months, and so a user that installed your application a year ago, will have an outdated version of Java, and may be missing some important security fixes. The best solution for this is, to release updates your applications, with the latest JRE, every time Oracle makes an update; but this can become a little onerous and time-consuming and there is no guarantee the user will update the application. Another con, is that including a JRE greatly increases the download size of your application; although with current internet speeds this is becoming less of an issue. Finally, bundling a JRE also means the user will have many, possibly redundant, JREs sitting around on their computers. Again, with current hard drive sizes that probably isn&#8217;t too much of an issue, but it just doesn&#8217;t seem efficient.<\/p>\n<h2>Conclusion<\/h2>\n<p>I am still <em>sitting on the fence with<\/em> this, and currently release two version of my apps; one with a bundled JRE and one without. This can also be a pain, and so am considering moving to just bundling in the future. If anyone has any comments, or best practices that they use, I&#8217;d love to hear them.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction As every Java application developer knows, in order for your users to use your application, they need a Java Runtime Environment (JRE) on their computer. Traditionally, this was done by providing the user with instructions on how to download and install a JRE (or check if they have he correct JRE), prior to installing [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":360,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[18],"tags":[14,26],"class_list":["post-555","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","tag-java","tag-javafx"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java: To bundle or not - Ewert Technologies Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java: To bundle or not - Ewert Technologies Blog\" \/>\n<meta property=\"og:description\" content=\"Introduction As every Java application developer knows, in order for your users to use your application, they need a Java Runtime Environment (JRE) on their computer. Traditionally, this was done by providing the user with instructions on how to download and install a JRE (or check if they have he correct JRE), prior to installing [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/\" \/>\n<meta property=\"og:site_name\" content=\"Ewert Technologies Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/EwertTechnologies\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/EwertTechnologies\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-11T22:09:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/java_logo.jpg?fit=400%2C245&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"245\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Victor Ewert\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@EwertTech\" \/>\n<meta name=\"twitter:site\" content=\"@EwertTech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Victor Ewert\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/\"},\"author\":{\"name\":\"Victor Ewert\",\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/#\/schema\/person\/83341249e0e6fd8678a5f2cda46f92a0\"},\"headline\":\"Java: To bundle or not\",\"datePublished\":\"2017-01-11T22:09:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/\"},\"wordCount\":460,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/java_logo.jpg?fit=400%2C245&ssl=1\",\"keywords\":[\"Java\",\"JavaFX\"],\"articleSection\":[\"Articles\"],\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/\",\"url\":\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/\",\"name\":\"Java: To bundle or not - Ewert Technologies Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/java_logo.jpg?fit=400%2C245&ssl=1\",\"datePublished\":\"2017-01-11T22:09:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/java_logo.jpg?fit=400%2C245&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/java_logo.jpg?fit=400%2C245&ssl=1\",\"width\":400,\"height\":245},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.ewert-technologies.ca\/blogs\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java: To bundle or not\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/#website\",\"url\":\"https:\/\/www.ewert-technologies.ca\/blogs\/\",\"name\":\"Ewert Technologies Blog\",\"description\":\"Welcome to the Ewert Technologies Blog Site\",\"publisher\":{\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.ewert-technologies.ca\/blogs\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/#organization\",\"name\":\"Ewert Technologies\",\"url\":\"https:\/\/www.ewert-technologies.ca\/blogs\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i1.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/logo_200.png?fit=200%2C79&ssl=1\",\"contentUrl\":\"https:\/\/i1.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/logo_200.png?fit=200%2C79&ssl=1\",\"width\":200,\"height\":79,\"caption\":\"Ewert Technologies\"},\"image\":{\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/EwertTechnologies\",\"https:\/\/x.com\/EwertTech\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/#\/schema\/person\/83341249e0e6fd8678a5f2cda46f92a0\",\"name\":\"Victor Ewert\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\/\/www.ewert-technologies.ca\/blogs\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.ewert-technologies.ca\/blogs\/wp-content\/litespeed\/avatar\/9de67af6c08020159b0c49938492aada.jpg?ver=1776826808\",\"contentUrl\":\"https:\/\/www.ewert-technologies.ca\/blogs\/wp-content\/litespeed\/avatar\/9de67af6c08020159b0c49938492aada.jpg?ver=1776826808\",\"caption\":\"Victor Ewert\"},\"description\":\"I am Victor Ewert, an Independent Software Developer and owner of Ewert Technologies. In the past I have worked as a Software Tester including working on Software Test automation. My current technology interests include Java, JavaFX, Kotlin, Swift, Privacy and Security, and Mobile App development.\",\"sameAs\":[\"https:\/\/www.ewert-technologies.ca\/home\",\"https:\/\/www.facebook.com\/EwertTechnologies\",\"https:\/\/www.linkedin.com\/in\/vewert\",\"https:\/\/x.com\/EwertTech\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Java: To bundle or not - Ewert Technologies Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/","og_locale":"en_US","og_type":"article","og_title":"Java: To bundle or not - Ewert Technologies Blog","og_description":"Introduction As every Java application developer knows, in order for your users to use your application, they need a Java Runtime Environment (JRE) on their computer. Traditionally, this was done by providing the user with instructions on how to download and install a JRE (or check if they have he correct JRE), prior to installing [&hellip;]","og_url":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/","og_site_name":"Ewert Technologies Blog","article_publisher":"https:\/\/www.facebook.com\/EwertTechnologies","article_author":"https:\/\/www.facebook.com\/EwertTechnologies","article_published_time":"2017-01-11T22:09:09+00:00","og_image":[{"width":400,"height":245,"url":"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/java_logo.jpg?fit=400%2C245&ssl=1","type":"image\/jpeg"}],"author":"Victor Ewert","twitter_card":"summary_large_image","twitter_creator":"@EwertTech","twitter_site":"@EwertTech","twitter_misc":{"Written by":"Victor Ewert","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#article","isPartOf":{"@id":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/"},"author":{"name":"Victor Ewert","@id":"https:\/\/www.ewert-technologies.ca\/blogs\/#\/schema\/person\/83341249e0e6fd8678a5f2cda46f92a0"},"headline":"Java: To bundle or not","datePublished":"2017-01-11T22:09:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/"},"wordCount":460,"commentCount":2,"publisher":{"@id":"https:\/\/www.ewert-technologies.ca\/blogs\/#organization"},"image":{"@id":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/java_logo.jpg?fit=400%2C245&ssl=1","keywords":["Java","JavaFX"],"articleSection":["Articles"],"inLanguage":"en-CA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/","url":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/","name":"Java: To bundle or not - Ewert Technologies Blog","isPartOf":{"@id":"https:\/\/www.ewert-technologies.ca\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#primaryimage"},"image":{"@id":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/java_logo.jpg?fit=400%2C245&ssl=1","datePublished":"2017-01-11T22:09:09+00:00","breadcrumb":{"@id":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/"]}]},{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#primaryimage","url":"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/java_logo.jpg?fit=400%2C245&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/java_logo.jpg?fit=400%2C245&ssl=1","width":400,"height":245},{"@type":"BreadcrumbList","@id":"https:\/\/www.ewert-technologies.ca\/blogs\/articles\/java-to-bundle-or-not\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.ewert-technologies.ca\/blogs\/"},{"@type":"ListItem","position":2,"name":"Java: To bundle or not"}]},{"@type":"WebSite","@id":"https:\/\/www.ewert-technologies.ca\/blogs\/#website","url":"https:\/\/www.ewert-technologies.ca\/blogs\/","name":"Ewert Technologies Blog","description":"Welcome to the Ewert Technologies Blog Site","publisher":{"@id":"https:\/\/www.ewert-technologies.ca\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ewert-technologies.ca\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-CA"},{"@type":"Organization","@id":"https:\/\/www.ewert-technologies.ca\/blogs\/#organization","name":"Ewert Technologies","url":"https:\/\/www.ewert-technologies.ca\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.ewert-technologies.ca\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/i1.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/logo_200.png?fit=200%2C79&ssl=1","contentUrl":"https:\/\/i1.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/logo_200.png?fit=200%2C79&ssl=1","width":200,"height":79,"caption":"Ewert Technologies"},"image":{"@id":"https:\/\/www.ewert-technologies.ca\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/EwertTechnologies","https:\/\/x.com\/EwertTech"]},{"@type":"Person","@id":"https:\/\/www.ewert-technologies.ca\/blogs\/#\/schema\/person\/83341249e0e6fd8678a5f2cda46f92a0","name":"Victor Ewert","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.ewert-technologies.ca\/blogs\/#\/schema\/person\/image\/","url":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-content\/litespeed\/avatar\/9de67af6c08020159b0c49938492aada.jpg?ver=1776826808","contentUrl":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-content\/litespeed\/avatar\/9de67af6c08020159b0c49938492aada.jpg?ver=1776826808","caption":"Victor Ewert"},"description":"I am Victor Ewert, an Independent Software Developer and owner of Ewert Technologies. In the past I have worked as a Software Tester including working on Software Test automation. My current technology interests include Java, JavaFX, Kotlin, Swift, Privacy and Security, and Mobile App development.","sameAs":["https:\/\/www.ewert-technologies.ca\/home","https:\/\/www.facebook.com\/EwertTechnologies","https:\/\/www.linkedin.com\/in\/vewert","https:\/\/x.com\/EwertTech"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.ewert-technologies.ca\/blogs\/wp-content\/uploads\/java_logo.jpg?fit=400%2C245&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-json\/wp\/v2\/posts\/555","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-json\/wp\/v2\/comments?post=555"}],"version-history":[{"count":11,"href":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-json\/wp\/v2\/posts\/555\/revisions"}],"predecessor-version":[{"id":572,"href":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-json\/wp\/v2\/posts\/555\/revisions\/572"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-json\/wp\/v2\/media\/360"}],"wp:attachment":[{"href":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-json\/wp\/v2\/media?parent=555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-json\/wp\/v2\/categories?post=555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ewert-technologies.ca\/blogs\/wp-json\/wp\/v2\/tags?post=555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}