<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog @ SIB Visions &#187; Android</title>
	<atom:link href="http://blog.sibvisions.com/tag/android/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.sibvisions.com</link>
	<description>Blog @ SIB Visions</description>
	<lastBuildDate>Mon, 13 Apr 2026 09:47:01 +0000</lastBuildDate>
		<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Xamarin Client (simple PoC)</title>
		<link>https://blog.sibvisions.com/2018/04/20/xamarin-client-simple-poc/</link>
		<comments>https://blog.sibvisions.com/2018/04/20/xamarin-client-simple-poc/#comments</comments>
		<pubDate>Fri, 20 Apr 2018 11:29:23 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Xamarin]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=7983</guid>
		<description><![CDATA[What is Xamarin?
Read all details here.
It's a company and a really cool platform for mobile application development. It enables you to use one codebase for iOS and Android.
Since 2016, it's more or less free for everyone.
We tried Xamarin some years before 2016 and it wasn't free. So it wasn't an option for us. Not because [...]]]></description>
			<content:encoded><![CDATA[<p>What is <a href="https://www.xamarin.com">Xamarin</a>?</p>
<p>Read all details <a href="https://en.wikipedia.org/wiki/Xamarin">here</a>.</p>
<p>It's a company and a really cool platform for mobile application development. It enables you to use one codebase for iOS and Android.</p>
<p>Since 2016, it's more or less <a href="https://blog.xamarin.com/xamarin-for-all/">free for everyone</a>.</p>
<p>We tried Xamarin some years before 2016 and it wasn't free. So it wasn't an option for us. Not because it's using C# as programming language. We already have mobile clients for JVx applications but they don't share the same codebase. There is one <a href="https://sourceforge.net/projects/jvxmobile/">client for Android</a> and <a href="https://sourceforge.net/projects/jvxmobile/">another one for iOS</a>. The source code is licensed under Apache 2.0.</p>
<p>Our native clients work great but we think they could be better.</p>
<p>In the last days we made some tests with different tools, to create a new universal client with one technology. A HTML5 client wasn't an option for us because of different criterias. A real native client was important during our evaluation.</p>
<p>Some links to different opinions:</p>
<ul>
<li><a href="https://techbeacon.com/10-cross-platform-mobile-development-tools-enterprises">https://techbeacon.com/10-cross-platform-mobile-development-tools-enterprises</a></li>
<li><a href="https://medium.com/@MasterOfCodeGlobal/best-10-android-frameworks-for-building-android-apps-d2d0ee48e464">https://medium.com/@MasterOfCodeGlobal/best-10-android-frameworks-for-building-android-apps-d2d0ee48e464</a></li>
<li><a href="https://www.lifewire.com/top-tools-for-multi-platform-mobile-app-development-2373505">https://www.lifewire.com/top-tools-for-multi-platform-mobile-app-development-2373505</a></li>
<li><a href="https://www.iqvis.com/blog/9-cross-platform-mobile-development-tools-to-use-in-2017/">https://www.iqvis.com/blog/9-cross-platform-mobile-development-tools-to-use-in-2017/</a></li>
<li><a href="https://www.outsystems.com/blog/free-cross-platform-mobile-app-development-tools-compared-2017.html">https://www.outsystems.com/blog/free-cross-platform-mobile-app-development-tools-compared-2017.html</a></li>
</ul>
<p>We made good first progress with Xamarin and because of its pricing, it was the winner of our evaluation. Sure, Xamarin is C# but it's better to write C# than JavaScript. Another plus was that we already have a simple JVx connection port to .NET based on C#. So we could reuse this code.</p>
<p><strong>Why not JavaFX?</strong></p>
<p>The problem with JavaFX is, that it's unclear what will happen with JavaFX in the future. There are different articles about the future of JavaFX, but the one from <a href="https://jonathangiles.net/one-guys-perspective-on-javafx/">Jonathan Giles</a> makes it clear</p>
<p>Sure, there's Gluon and some other individual developers, but the overall performance isn't relly comparable to native apps. It's awesome what happened in the last years, but the progress is missing. </p>
<p>We still have our JavaFX based UI, but we're not sure if JavaFX will survive or it will be commercialized. So it's better to have an option.</p>
<p><strong>Why not CodenameOne?</strong></p>
<p>It's a really cool technology and works great with some smaller performance glitches (simply try the current KitchenSink from the App stores)..<br />
WORA just works!</p>
<p>The cloud build isn't what we prefer and the pricing is not good for our use-case. Our client should be free, open and easy to use for every developer.</p>
<p style="display:block; width: 100%; padding-top: 20px">
<p>Here is a simple test application for REST access to our Heroes application, used in our <a href="https://blog.sibvisions.com/2017/10/23/angularjs-4-with-visionx-and-jvx-rest-services/">Angular test application</a>.</p>
<p><center></p>
<table>
<tr>
<td><div id="attachment_7994" class="wp-caption alignleft nomargin" style="width: 181px"><a href="https://blog.sibvisions.com/wp-content/uploads/2018/04/ios.png" rel="lightbox[7983]"><img src="https://blog.sibvisions.com/wp-content/uploads/2018/04/ios-171x300.png" alt="iOS client" title="ios" width="171" height="300" class="size-medium wp-image-7994" /></a><p class="wp-caption-text">iOS client</p></div></td>
<td style="width: 20px"></td>
<td><div id="attachment_7995" class="wp-caption alignleft nomargin" style="width: 207px"><a href="https://blog.sibvisions.com/wp-content/uploads/2018/04/android.png" rel="lightbox[7983]"><img src="https://blog.sibvisions.com/wp-content/uploads/2018/04/android-197x300.png" alt="Android client" title="android" width="197" height="300" class="size-medium wp-image-7995" /></a><p class="wp-caption-text">Android client</p></div></td>
</tr>
</table>
<p></center></p>
<p>The source code for this test:</p>
<div class="codesnip-container" >
<div class="csharp codesnip" style="font-family:monospace;"><span class="kw1">using</span> <span class="co3">System</span><span class="sy0">;</span><br />
<span class="kw1">using</span> <span class="co3">System.Collections.Generic</span><span class="sy0">;</span><br />
<span class="kw1">using</span> <span class="co3">System.Net.Http</span><span class="sy0">;</span><br />
<span class="kw1">using</span> <span class="co3">System.Text</span><span class="sy0">;</span><br />
<span class="kw1">using</span> <span class="co3">Newtonsoft.Json</span><span class="sy0">;</span><br />
<span class="kw1">using</span> <span class="co3">Xamarin.Forms</span><span class="sy0">;</span></p>
<p><span class="kw1">namespace</span> TableViewSamples<br />
<span class="br0">&#123;</span><br />
&nbsp; <span class="kw1">public</span> <span class="kw4">class</span> RESTTable <span class="sy0">:</span> ContentPage<br />
&nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw1">public</span> RESTTable<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; GetData<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; async <span class="kw1">void</span> GetData<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">Title</span> <span class="sy0">=</span> <span class="st0">&quot;REST Data&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; var table <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> TableView<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> Intent <span class="sy0">=</span> TableIntent.<span class="me1">Data</span> <span class="br0">&#125;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; var root <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> TableRoot<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; var section1 <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> TableSection<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> Title <span class="sy0">=</span> <span class="st0">&quot;First Section&quot;</span> <span class="br0">&#125;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; &nbsp; var authData <span class="sy0">=</span> <span class="kw4">string</span>.<span class="me1">Format</span><span class="br0">&#40;</span><span class="st0">&quot;{0}:{1}&quot;</span>, <span class="st0">&quot;user&quot;</span>, <span class="st0">&quot;pwd&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; var authHeaderValue <span class="sy0">=</span> Convert.<span class="me1">ToBase64String</span><span class="br0">&#40;</span>Encoding.<span class="me1">UTF8</span>.<span class="me1">GetBytes</span><span class="br0">&#40;</span>authData<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; &nbsp; HttpClient client <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> HttpClient<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; client.<span class="me1">DefaultRequestHeaders</span>.<span class="me1">Authorization</span> <span class="sy0">=</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> <span class="kw5">System.<span class="me1">Net</span></span>.<span class="me1">Http</span>.<span class="me1">Headers</span>.<span class="me1">AuthenticationHeaderValue</span><span class="br0">&#40;</span><span class="st0">&quot;Basic&quot;</span>, authHeaderValue<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; HttpResponseMessage response <span class="sy0">=</span> await client.<span class="me1">GetAsync</span><span class="br0">&#40;</span><span class="st0">&quot;https://...&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>response.<span class="me1">IsSuccessStatusCode</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HttpContent content <span class="sy0">=</span> response.<span class="me1">Content</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var result <span class="sy0">=</span> await content.<span class="me1">ReadAsStringAsync</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var parsed <span class="sy0">=</span> JsonConvert.<span class="me1">DeserializeObject</span><span class="sy0">&lt;</span>List<span class="sy0">&lt;</span>HEROES<span class="sy0">&gt;&gt;</span><span class="br0">&#40;</span>result<span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span>var record <span class="kw1">in</span> parsed<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw5">System.<span class="me1">Diagnostics</span></span>.<span class="me1">Debug</span>.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="st0">&quot;Data: {0}&quot;</span>, record<span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; section1.<span class="me1">Add</span><span class="br0">&#40;</span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> TextCell <span class="br0">&#123;</span> Text <span class="sy0">=</span> record.<span class="me1">NAME</span> <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; table.<span class="me1">Root</span> <span class="sy0">=</span> root<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; root.<span class="me1">Add</span><span class="br0">&#40;</span>section1<span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; &nbsp; Content <span class="sy0">=</span> table<span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; <span class="kw1">public</span> <span class="kw4">class</span> HEROES<br />
&nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">int</span> ID <span class="br0">&#123;</span> get<span class="sy0">;</span> set<span class="sy0">;</span> <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">string</span> NAME <span class="br0">&#123;</span> get<span class="sy0">;</span> set<span class="sy0">;</span> <span class="br0">&#125;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
</div>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2018/04/20/xamarin-client-simple-poc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Demo ERP 1.1, iOS &amp; Android App updates</title>
		<link>https://blog.sibvisions.com/2015/06/01/demo-erp-1-1-ios-android-app-updates/</link>
		<comments>https://blog.sibvisions.com/2015/06/01/demo-erp-1-1-ios-android-app-updates/#comments</comments>
		<pubDate>Mon, 01 Jun 2015 14:21:18 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Release notes]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[ERP]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[JVx]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=4414</guid>
		<description><![CDATA[First, we've released version 1.1 of our Demo ERP application. The full source code is available on SourceForge. It doesn't have more features than 1.0 because it's a simple lib upgrade release with improvements for developers.
The DemoERP.zip now contains the whole project structure and not only the source files. Simply unzip the archive, import the [...]]]></description>
			<content:encoded><![CDATA[<p>First, we've released version <strong>1.1 of our Demo ERP application</strong>. The full source code is available on <a href="http://sourceforge.net/projects/erpdemoapplication/">SourceForge</a>. It doesn't have more features than 1.0 because it's a simple lib upgrade release with improvements for developers.</p>
<p>The <strong>DemoERP.zip</strong> now contains the whole project structure and not only the source files. Simply unzip the archive, import the project in your Eclipse IDE and start the DemoERP.launch file (sure, DB must be configured manually). The archive contains small README files with additional information.</p>
<p>We fixed code signing problems and you shouldn't have any problems with <strong>DemoERP.war</strong>. So, simply deploy the war and open <em>http://localhost/DemoERP/web/ui</em> in your browser (see <em>README</em>).</p>
<p>The release contains our latest vaadinUI based on 7.4.5 and our latest JVx.mobile lib. The mobile lib was needed for our updated mobile apps for iOS and Android.</p>
<p>Yepp, we've new apps in the stores (still native but not based on JavaFX). The apps have a buch of new features like custom view styles (based on style property of JVx), image viewer/editor or the new Form view. But the biggest improvement was offline support. It's now possible to switch to offline mode and back to online mode. Sure, we sync your offline data!</p>
<p>It's an awesome feature because it's a generic solution and you don't have to change anything in your application. It simply works!</p>
<p>Both applications have the same features but system specific.<br />
Here's the <a href="https://itunes.apple.com/at/app/jvx-client-preview/id829822359">iOS link</a>.<br />
The <a href="https://play.google.com/store/apps/details?id=com.sibvisions.android">Android app via Google Play</a>.</p>
<p>Both apps work great with latest VisionX releases and simply use it to test your VisionX application - LIVE - without redeployments - on your mobile devices!</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2015/06/01/demo-erp-1-1-ios-android-app-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JVx&#039; JavaFX UI with JavaFXPorts</title>
		<link>https://blog.sibvisions.com/2015/04/08/jvx-javafx-ui-with-javafxports/</link>
		<comments>https://blog.sibvisions.com/2015/04/08/jvx-javafx-ui-with-javafxports/#comments</comments>
		<pubDate>Wed, 08 Apr 2015 21:02:20 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[JavaFXPorts]]></category>
		<category><![CDATA[JVx]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=4165</guid>
		<description><![CDATA[A few hours ago, we published a screenshot from our Demo ERP application running on Nexus 9 (an Android tablet).
It wasn't a fake!
Before we'll show you more screenshots, we want say that we've reached a long awaited goal!
Use JVx and write an application for all polpular platforms and devices.
This is real "write once run anywhere".
Create [...]]]></description>
			<content:encoded><![CDATA[<p>A few hours ago, we published a screenshot from our Demo ERP application running on Nexus 9 (an Android tablet).<br />
It wasn't a fake!</p>
<p><center>Before we'll show you more screenshots, we want say that we've reached a long awaited goal!</center></p>
<p><em>Use JVx and write an application for all polpular platforms and devices.<br />
This is real "write once run anywhere".</em></p>
<p>Create an application for Windows, Linux, Mac, iOS, or Android, PS4, OUYA or WiiU. Run it as desktop application, as html5 application in web browsers, as native iOS or Android application or as JavaFX application on Android and iOS devices. There's nothing like JVx in the world - not with only one framework with such a small footprint as JVx and certainly not Open Source!</p>
<p>Here are the screenshots:</p>
<table>
<tr>
<td><div id="attachment_4172" class="wp-caption aligncenter nomargin" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/04/m_charts.jpeg" rel="lightbox[4165]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/04/m_charts-300x225.jpg" alt="Maximized frame with charts" title="m_charts" width="300" height="225" class="size-medium wp-image-4172" /></a><p class="wp-caption-text">Maximized frame with charts</p></div></td>
<td style="width: 15px;"></td>
<td><div id="attachment_4171" class="wp-caption aligncenter nomargin" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/04/articles_tree.jpg" rel="lightbox[4165]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/04/articles_tree-300x225.jpg" alt="Frame with tree" title="articles_tree" width="300" height="225" class="size-medium wp-image-4171" /></a><p class="wp-caption-text">Frame with tree</p></div></td>
</tr>
</table>
<p>Also in portrait mode:<br />
<center></p>
<table>
<tr>
<td><div id="attachment_4174" class="wp-caption aligncenter nomargin" style="width: 235px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/04/m_tree.jpeg" rel="lightbox[4165]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/04/m_tree-225x300.jpg" alt="Portrait mode" title="m_tree" width="225" height="300" class="size-medium wp-image-4174" /></a><p class="wp-caption-text">Portrait mode</p></div></td>
</tr>
</table>
<p></center><br />
And now a very strange one. It's the application with our styled stage. It's crazy because you can drag the window around (makes no sense, but it just works):<br />
<center></p>
<table>
<tr>
<td><div id="attachment_4176" class="wp-caption aligncenter nomargin" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/04/m_frame.jpeg" rel="lightbox[4165]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/04/m_frame-300x225.jpg" alt="Styled stage with tabset desktop" title="m_frame" width="300" height="225" class="size-medium wp-image-4176" /></a><p class="wp-caption-text">Styled stage</p></div></td>
</tr>
</table>
<p></center></p>
<p>Sure, the application wasn't optimized for mobile devices. It has the same style as the <a href="http://blog.sibvisions.com/2015/04/08/charts-with-jvx-and-javafx/">desktop application</a>. The mobile version should have bigger frame buttons and a bigger frame header <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  To be honest - MDI on mobile devices? We were positively surprised about the usability. But, whatever. You have the option and decide what's best for your application (but please don't use MDI for smartphones).</p>
<p><strong>Are you interested in some details?</strong></p>
<p>We've used <a href="https://netbeans.org/">Netbeans IDE</a> because there's a very useful plugin from <a href="http://gluonhq.com/">gluon</a>. We're Eclipse users but it was easier to use a preconfigured environment without doing everything manually. It was simple to configure Netbeans with gluon plugin and there's a <a href="http://gluonhq.com/products/tools/ide-plugins/">video</a> for your first steps. A "bigger" problem was gradle because the project was a gradle project and we've never used gradle. We love using ant.</p>
<p>We had a bad start with Hello World application because it didn't work. There were different problems: Missing ANDROID_HOME or DEX compiler problems. After reading the <a href="http://javafxports.org/page/Getting_Started">documentation</a> it was possible to start compilation. The DEX problem was very strange because we had JVM 1.8 u31 and JVM 1.8 u40 configured in Netbeans, but Netbeans didn't use our configured JVM 1.8 u40. We removed the JVM 1.8 u31 from Netbeans and after that we successfully compiled our Hello World application. Very strange!</p>
<p>The next step was using JVx as library dependency for our project, but how did this work with gradle? We had the library in the libs directory of the project, in the file system. We didn't use a maven lib because it was easier to replace the library after recreation. We tried to find a solution in the official gradle documentation and found <a href="https://gradle.org/docs/current/userguide/dependency_management.html">Chapter 51</a>. C'mon gradle is a build tool and not a programming language! So much documentation means: complexity. Sure, ant wasn't the holy grale but it it's simple to understand and doesn't hide anything.</p>
<p>Our current gradle script:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">buildscript <span class="br0">&#123;</span><br />
&nbsp; &nbsp; repositories <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; jcenter<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; dependencies <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; classpath <span class="st0">'org.javafxports:jfxmobile-plugin:1.0.0-b7'</span></p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></p>
<p>apply plugin<span class="sy0">:</span> <span class="st0">'org.javafxports.jfxmobile'</span></p>
<p>repositories <span class="br0">&#123;</span><br />
&nbsp; &nbsp; jcenter<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#125;</span></p>
<p>dependencies <span class="br0">&#123;</span><br />
&nbsp; &nbsp; compile fileTree<span class="br0">&#40;</span>dir<span class="sy0">:</span> <span class="st0">'libs'</span>, include<span class="sy0">:</span> <span class="st0">'*.jar'</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; runtime fileTree<span class="br0">&#40;</span>dir<span class="sy0">:</span> <span class="st0">'libs'</span>, include<span class="sy0">:</span> <span class="st0">'*.jar'</span><span class="br0">&#41;</span><br />
<span class="br0">&#125;</span></p>
<p>mainClassName <span class="sy0">=</span> <span class="st0">'com.sibvisions.gluon.JVxGluonApp'</span><br />
&nbsp; &nbsp; <br />
jfxmobile <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; ios <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; forceLinkClasses <span class="sy0">=</span> <span class="br0">&#91;</span> <span class="st0">'com.sibvisions.gluon.**.*'</span> <span class="br0">&#93;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; android <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; androidSdk <span class="sy0">=</span> <span class="st0">'C:/tools/android/android-sdk_r04-windows'</span><br />
&nbsp; &nbsp; &nbsp; compileSdkVersion <span class="sy0">=</span> <span class="nu0">21</span> &nbsp;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>It's short but we ddin't know what happened behind the scenes without additional research. But if it works it's good enough for many developers.</p>
<p>The integration of JVx was simple because JVx was compiled with JVM 1.6. The Dalvik VM or DART do support 1.6 and 1.7 syntax. It was cool to see that JVx and especially the communication worked without problems - Great job from <a href="https://twitter.com/johanvos">Johan Vos</a> and all people behind <a href="http://javafxports.org/">JavaFXPorts</a>!</p>
<p>Our next step was the integration of additional dependencies like our JavaFX UI. It was based on JVM 1.8 u40 and heavily used lambdas. But lambda expressions weren't supported from Dalvik or ART. We thought that gluon plugin solves the problem for us, but it didn't. It contains <a href="https://github.com/orfjackal/retrolambda">retrolambda</a> but only for project source files and it doesn't touch your dependencies. There was no additional gradle build task for that, so we had to convert the libs manually. Not a problem but you must be aware of it.</p>
<p>After we solved all dependency problems, we had the first version of our desktop ERP running on our android device. But don't think everything was trouble-free. We had problems with method references, Java Preferences because of write problems, new Date API, forEach calls, scene size and much more. We did solve most problems but not all - yet.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2015/04/08/jvx-javafx-ui-with-javafxports/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>ARC Welder - what else :)</title>
		<link>https://blog.sibvisions.com/2015/04/04/arc-welder-what-else/</link>
		<comments>https://blog.sibvisions.com/2015/04/04/arc-welder-what-else/#comments</comments>
		<pubDate>Sat, 04 Apr 2015 19:16:16 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[ARC]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=4126</guid>
		<description><![CDATA[Some days ago, ARC Welder popped up in the news. I guess it was Thursday?
What is ARC? (see Getting started with ARC)
The App Runtime for Chrome (Beta), or ARC, lets you run your favorite Android apps on Chrome OS.
and also in your Chrome browser.
It's strange, but a logical consequence.
We tried our native Android client with [...]]]></description>
			<content:encoded><![CDATA[<p>Some days ago, ARC Welder popped up in the <a href="http://www.theregister.co.uk/2015/04/02/android_apps_to_run_on_linux_windows_and_macs/">news</a>. I guess it was Thursday?</p>
<p><strong>What is ARC?</strong> (see <a href="https://developer.chrome.com/apps/getstarted_arc">Getting started with ARC</a>)</p>
<blockquote><p>The App Runtime for Chrome (Beta), or ARC, lets you run your favorite Android apps on Chrome OS.</p></blockquote>
<p>and also in your Chrome browser.</p>
<p>It's strange, but a logical consequence.</p>
<p>We tried our native Android client with ARC Welder and it was working without bigger problems:</p>
<div id="attachment_4131" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2015/04/jvxnative_arc_welder.png" rel="lightbox[4126]"><img src="http://blog.sibvisions.com/wp-content/uploads/2015/04/jvxnative_arc_welder-300x197.png" alt="ARC Welder - JVx Android Client" title="jvxnative_arc_welder" width="300" height="197" class="size-medium wp-image-4131" /></a><p class="wp-caption-text">ARC Welder - JVx Android Client</p></div>
<p>It wasn't possible to use the integrated MAPS API, maybe a problem of the beta version or our build?</p>
<p>I'm not sure if it's useful to run an android app on a desktop because the app was designed for mobile devices, usually. But as test environment...</p>
<p>But it could be interesting for JavaFX applications which were converted to Android apps? Not really for desktop pcs, but for Chromebooks.<br />
While Applets will be banned from browsers, ARC could be something similar <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>It's still strange but we'll be ready for it.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2015/04/04/arc-welder-what-else/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toys for our Android dev team</title>
		<link>https://blog.sibvisions.com/2014/11/26/toys-for-our-android-dev-team/</link>
		<comments>https://blog.sibvisions.com/2014/11/26/toys-for-our-android-dev-team/#comments</comments>
		<pubDate>Wed, 26 Nov 2014 14:56:58 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=3324</guid>
		<description><![CDATA[What a great day for our Android dev team. Our new test devices arrived today.




&#160;




We're not sure if the dev team is making progress today  
The Android Client will be available in Google Play as soon as possible. Currently only the iOS client is available in the App store. The Android client will be [...]]]></description>
			<content:encoded><![CDATA[<p>What a great day for our Android dev team. Our new test devices arrived today.</p>
<p><center></p>
<table>
<tr>
<td><div id="attachment_3326" class="wp-caption aligncenter nomargin" style="width: 182px"><a href="http://blog.sibvisions.com/wp-content/uploads/2014/11/nexus5.jpg" rel="lightbox[3324]"><img src="http://blog.sibvisions.com/wp-content/uploads/2014/11/nexus5-172x300.jpg" alt="Nexus 5 with KitKat" title="Nexus 5" width="172" height="300" class="size-medium wp-image-3326" /></a><p class="wp-caption-text">Nexus 5 with KitKat</p></div></td>
<td style="width: 20px;">&nbsp;</td>
<td style="vertical-align: middle;"><div id="attachment_3325" class="wp-caption aligncenter nomargin" style="width: 310px"><a href="http://blog.sibvisions.com/wp-content/uploads/2014/11/nexus9.jpg" rel="lightbox[3324]"><img src="http://blog.sibvisions.com/wp-content/uploads/2014/11/nexus9-300x214.jpg" alt="Nexus 9 with Lollipop" title="Nexus 9" width="300" height="214" class="size-medium wp-image-3325" /></a><p class="wp-caption-text">Nexus 9 with Lollipop</p></div></td>
</tr>
</table>
<p></center></p>
<p>We're not sure if the dev team is making progress today <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The Android Client will be available in Google Play as soon as possible. Currently only the iOS client is available in the App store. The Android client will be available as Preview version and as Pro version, same as the iOS client. The preview client could be used for tests together with VisionX. It will be limited to one screen.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2014/11/26/toys-for-our-android-dev-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Master Thesis - JVx Mobile und Android</title>
		<link>https://blog.sibvisions.com/2014/07/18/master-thesis-jvx-mobile-und-android/</link>
		<comments>https://blog.sibvisions.com/2014/07/18/master-thesis-jvx-mobile-und-android/#comments</comments>
		<pubDate>Fri, 18 Jul 2014 13:04:17 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Media]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[JVx.mobile]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=3086</guid>
		<description><![CDATA[Die Master Thesis von Michael Hofer steht nun öffentlich zur Verfügung. Das Thema war
Design und Implementierung einer Multi-Touch optimierten Android Runtime Umgebung für JVx ERP Applikationen auf Smartphone Devices
Im Zuge seiner Arbeit wurde der JVx.Mobile Server und der Android Client für JVx entwickelt. Das Projekt steht unter der Apache Lizenz 2.0 zur Verfügung.
Die Arbeit ist [...]]]></description>
			<content:encoded><![CDATA[<p>Die <a href="http://blog.sibvisions.com/wp-content/uploads/2014/07/MT-Hofer-MSE.pdf">Master Thesis</a> von Michael Hofer steht nun öffentlich zur Verfügung. Das Thema war</p>
<p><strong>Design und Implementierung einer Multi-Touch optimierten Android Runtime Umgebung für JVx ERP Applikationen auf Smartphone Devices</strong></p>
<p>Im Zuge seiner Arbeit wurde der JVx.Mobile Server und der Android Client für JVx entwickelt. Das <a href="http://sourceforge.net/projects/jvxmobile/">Projekt</a> steht unter der Apache Lizenz 2.0 zur Verfügung.</p>
<p>Die Arbeit ist zugleich eine gute Dokumentation für JVx.mobile und erklärt Designentscheidungen sowie deren Umsetzung.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2014/07/18/master-thesis-jvx-mobile-und-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JVx Android AddOns 0.2</title>
		<link>https://blog.sibvisions.com/2010/10/11/jvx-android-addons-0-2/</link>
		<comments>https://blog.sibvisions.com/2010/10/11/jvx-android-addons-0-2/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 12:42:25 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=509</guid>
		<description><![CDATA[Today, we released version 0.2 of our Android AddOns. The release contains some new features for logging, property handling and list formatting.
Download the new release from here (ChangeLog and javadoc).
]]></description>
			<content:encoded><![CDATA[<p>Today, we released version <strong>0.2</strong> of our <strong>Android AddOns</strong>. The release contains some <strong>new features</strong> for <strong>logging</strong>, <strong>property handling</strong> and <strong>list formatting</strong>.</p>
<p>Download the new release from <a href="http://sourceforge.net/projects/jvx/files/Android%20AddOns/0.2/jvx_android-0.2_src.zip/download">here</a> (<a href="http://sourceforge.net/projects/jvx/files//Android%20AddOns/0.2/changes_android_v0_1_to_0_2.txt/view">ChangeLog</a> and <a href="http://sourceforge.net/projects/jvx/files/Android%20AddOns/0.2/jvx_android-0.2_javadoc.zip/download">javadoc</a>).</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2010/10/11/jvx-android-addons-0-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Packung! für Android Geräte</title>
		<link>https://blog.sibvisions.com/2010/06/04/packung-fur-android-phones/</link>
		<comments>https://blog.sibvisions.com/2010/06/04/packung-fur-android-phones/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 22:16:34 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[JVx]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=260</guid>
		<description><![CDATA[Seit heute ist unsere Packung! als mobile App, offiziell im Android Market erhältlich. Natürlich kostenlos!
Der Link für den Market: market://search?q=pname:com.sibvisions.apps.packung
Die App wurde ursprünglich entwickelt um zu zeigen, daß JVx auch unter Android ohne Probleme eingesetzt werden kann. Und das ohne Qualitätsverlust. Die App wurde zu 100% mit den JVx AddOns für Android und JVx selbst [...]]]></description>
			<content:encoded><![CDATA[<p>Seit heute ist unsere Packung! als mobile App, offiziell im Android Market erhältlich. <strong>Natürlich kostenlos</strong>!<br />
Der Link für den Market: <strong>market://search?q=pname:com.sibvisions.apps.packung</strong></p>
<p>Die App wurde ursprünglich entwickelt um zu zeigen, daß JVx auch unter Android ohne Probleme eingesetzt werden kann. Und das ohne Qualitätsverlust. Die App wurde zu 100% mit den <strong>JVx AddOns für Android</strong> und <strong>JVx</strong> selbst erstellt. Es kommen <strong>die selben Sourcen wie auch für die RIA</strong> zum Einsatz.</p>
<p>Doch mittlerweile ist das Projekt aus den Kinderschuhen entwachsen und zählt zu den Schmuckstücken in unserer Sammlung.</p>
<p><strong>Was ermöglicht die App im Unterschied zur RIA?</strong></p>
<p>Die App ist kein Ersatz für den großen Bruder, aber ein treuer Wegbegleiter. Mit der App ist es möglich, einfach und unkompliziert, von unterwegs seine Tipps abzugeben, mit den Spielergebnissen zu vergleichen und den Highscore einzusehen.</p>
<p>Folgende Screenshots zeigen die Funktionen im Detail:</p>
<table style="margin-top:10px" border="0">
<tbody>
<tr>
<td>
<div id="attachment_278" class="wp-caption nomargin alignleft" style="width: 210px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/06/login.png" rel="lightbox[260]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/06/login-200x300.png" alt="Login" width="200" height="300" class="size-medium wp-image-278" /></a><p class="wp-caption-text">Login</p></div></td>
<td style="width: 15px"></td>
<td><strong>Die Anmeldung</strong></p>
<p>Mit dem vorhandenen Benutzernamen und Passwort wird die Anmeldung durchgeführt!</p>
<p>Ein neuer Benutzer muss zuerst in der Rich Internet Application registriert werden bevor die mobile Anwendung genutzt werden kann. Durch die Aktivierung der automatischen Anmeldung entfällt die Eingabe von Benutzernamen und Passwort, bei erneutem Start der App bzw. wenn die Verbindung aufgrund eines Kommunikationsfehlers neu geöffnet werden muss.</p>
<p>Über das Menü kann der Server gewechselt werden und die App lässt sich beenden.
</td>
</tr>
<tr>
<td style="height: 20px" colspan="3"></td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
<td>
<div id="attachment_269" class="wp-caption nomargin alignleft" style="width: 210px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/06/server.png" rel="lightbox[260]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/06/server-200x300.png" alt="Choose Server" width="200" height="300" class="size-medium wp-image-269" /></a><p class="wp-caption-text">Choose Server</p></div></td>
<td style="width: 15px"></td>
<td><strong>Die Server Auswahl</strong></p>
<p>Es kann zwischen den zur Verfügung stehenden Systemen gewählt werden. Der Tournament Server ist das Live System für die WM 2010. </p>
<p>Der Demo Server ist ein System mit dem die Funktionen der RIA und das Zusammenspiel mit der mobilen App, getestet werden kann.</p>
<p>Der Development Server ermöglicht das Debuggen der Applikation und sollte nur von Software Entwicklern eingesetzt werden, die den Source Code der Anwendung zur Verfügung haben.
</td>
</tr>
<tr>
<td style="height: 20px" colspan="3"></td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
<td>
<div id="attachment_270" class="wp-caption nomargin alignleft" style="width: 210px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/06/categories.png" rel="lightbox[260]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/06/categories-200x300.png" alt="Categories" width="200" height="300" class="size-medium wp-image-270" /></a><p class="wp-caption-text">Categories</p></div></td>
<td style="width: 15px"></td>
<td><strong>Die Kategorie Auswahl</strong></p>
<p>Das Hauptmenü der App enthält die möglichen Optionen:</p>
<ul>
<li><strong>My Bets</strong>
<p>Unterstützt beim Abgeben der Tipps.
</li>
<li><strong>History</strong>
<p>Vergleicht die Tipps mit den Ergebnissen und zeigt die Punkte pro Tipp.
</li>
<li><strong>Statistics</strong>
<p>Aktueller Highscore - Weltweit bzw. der privaten Tippgruppen.
</li>
</ul>
</td>
</tr>
<tr>
<td style="height: 20px" colspan="3"></td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
<td>
<div id="attachment_271" class="wp-caption nomargin alignleft" style="width: 210px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/06/mybets.png" rel="lightbox[260]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/06/mybets-200x300.png" alt="MyBets" width="200" height="300" class="size-medium wp-image-271" /></a><p class="wp-caption-text">MyBets</p></div></td>
<td style="width: 15px"></td>
<td><strong>Tippen</strong></p>
<p>Pro Spieltag stehen die möglichen Spiele zur Verfügung. Das Wunschergebnis kann durch die Selektion des jeweiligen Spieles, eingegeben werden.
</td>
</tr>
<tr>
<td style="height: 20px" colspan="3"></td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
<td>
<div id="attachment_272" class="wp-caption nomargin alignleft" style="width: 210px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/06/placebet.png" rel="lightbox[260]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/06/placebet-200x300.png" alt="Place Bet" width="200" height="300" class="size-medium wp-image-272" /></a><p class="wp-caption-text">Place Bet</p></div></td>
<td style="width: 15px"></td>
<td><strong>Den Tipp eingeben</strong></p>
<p>Den gewünschten Endstand eingeben und bestätigen. Solange die erlaubte Deadline nicht überschritten ist, kann das Ergebnis jederzeit korrigiert werden.
</td>
</tr>
<tr>
<td style="height: 20px" colspan="3"></td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
<td>
<div id="attachment_273" class="wp-caption nomargin alignleft" style="width: 210px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/06/history.png" rel="lightbox[260]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/06/history-200x300.png" alt="History" width="200" height="300" class="size-medium wp-image-273" /></a><p class="wp-caption-text">History</p></div></td>
<td style="width: 15px"></td>
<td><strong>Die Historie</strong></p>
<p>In der historischen Ansicht wird das Endergebnis (rot) mit dem Tipp verglichen. Zusätzlich werden die Punkte pro Spiel angeführt.
</td>
</tr>
<tr>
<td style="height: 20px" colspan="3"></td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
<td>
<div id="attachment_274" class="wp-caption nomargin alignleft" style="width: 210px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/06/statistic.png" rel="lightbox[260]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/06/statistic-200x300.png" alt="Statistics" width="200" height="300" class="size-medium wp-image-274" /></a><p class="wp-caption-text">Statistics</p></div></td>
<td style="width: 15px"></td>
<td><strong>Highscore</strong></p>
<p>Der Highscore zeigt die aktuellen Platzierungen inklusive des Punktestandes. Sollten private Tippgruppen verwendet werden, sind auch diese sichtbar.</p>
<p>Der eigene Benutzername wird grau hinterlegt um die Übersicht zu bewahren.
</td>
</tr>
<tr>
<td style="height: 20px" colspan="3"></td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
<td>
<div id="attachment_275" class="wp-caption nomargin alignleft" style="width: 210px"><a href="http://blog.sibvisions.com/wp-content/uploads/2010/06/userinfo.png" rel="lightbox[260]"><img src="http://blog.sibvisions.com/wp-content/uploads/2010/06/userinfo-200x300.png" alt="User Info" width="200" height="300" class="size-medium wp-image-275" /></a><p class="wp-caption-text">User Info</p></div></td>
<td style="width: 15px"></td>
<td><strong>Die Benutzer Information</strong></p>
<p>Der Benutzername sowie der Anmelde Zeitpunkt werden angezeigt. Mit dem Menü ist der Wechsel zu den Kategorien, die Abmeldung und die Beendigung der App möglich.
</td>
</tr>
<tr>
<td style="height: 20px" colspan="3"></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2010/06/04/packung-fur-android-phones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JVx Kommunikation im Vergleich</title>
		<link>https://blog.sibvisions.com/2010/05/10/jvx-kommunikation-im-vergleich/</link>
		<comments>https://blog.sibvisions.com/2010/05/10/jvx-kommunikation-im-vergleich/#comments</comments>
		<pubDate>Mon, 10 May 2010 10:40:07 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JVx]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=190</guid>
		<description><![CDATA[Die in JVx integrierte Kommunikation hätte durchaus potential für ein eigenständiges Open Source Projekt. Wir sind jedoch bemüht die Entwicklung immer so einfach als möglich zu halten. Das bedeutet nicht, daß in JVx alle möglichen Frameworks zusammengeführt werden und somit ein nicht überschaubares "etwas" entsteht, sondern JVx enthält alles was nötig ist um Business Anwendungen [...]]]></description>
			<content:encoded><![CDATA[<p>Die in <strong>JVx integrierte Kommunikation</strong> hätte durchaus potential für ein <strong>eigenständiges Open Source Projekt</strong>. Wir sind jedoch bemüht die Entwicklung immer so einfach als möglich zu halten. Das bedeutet nicht, daß in JVx alle möglichen Frameworks zusammengeführt werden und somit ein nicht überschaubares "etwas" entsteht, sondern JVx enthält alles was nötig ist um <strong>Business Anwendungen in einer 3 Schichten Architektur</strong> zu erstellen. Und dazu gehört nun mal <strong>eine effiziente Client/Server Kommunikation</strong>.</p>
<p>Es gibt natürlich Frameworks für die Kommunikation zwischen Client und Server, wie z.B. <a href="http://www.jboss.org/netty.html">Netty</a>. Doch unabhängig von den vielen Möglichkeiten des Frameworks ist die Bibliothek mit knapp 700KB ein großer Brocken (<em>nur für die Kommunikation!</em>). Weiters ist ein Kommunikationsframework alleine noch nicht ausreichend, denn die Objekte müssen zwischen Client und Server auch noch serialisiert bzw. deserialisiert werden.</p>
<p>Für die Serialisierung könnten wiederum vorhandene Frameworks wie z.B.: <a href="http://code.google.com/p/protobuf/">Google Protocol Buffers</a> oder <a href="http://hessian.caucho.com/">Hessian</a> eingesetzt werden. Doch die <strong>Google Protocol Buffers</strong> erfordern die Definition der zu übertragenden Objekte und ist daher für ein generisches Framework wie JVx nicht geeignet. Und Hessian unterstützt leider nicht alle Objekttypen und ist nicht out-of-the-box mit z.B. Android einsatzfähig.</p>
<p>Der in JVx integrierte Kommunikationsmechanismus erlaubt ohne weiteres die Integration von den bisher genannten Frameworks, da weder das Transportprotokoll noch die Serialisierung ausschlaggebend sind für eine Business Anwendung. Außerdem definiert JVx mit Interfaces, was die Kommunikation bieten muss. Üblicherweise ist eine eigene Implementierung durch die Ableitung von <em>AbstractSerializedConnection</em> bzw. die Implementierung von <em>ISerializer</em> rasch durchgeführt.</p>
<p>Mit dem <em>UniversalSerializer</em> wird außerdem eine Lösung bereitgestellt mit der Objekte, zwischen unterschiedlichsten Technologien, ausgetauscht werden können. Und das ohne sich Gedanken über die Konfiguration zu machen bzw. Mappings zu erstellen. Der Einsatz des <em>UniversalSerializer</em> in Verbindung mit <a href="http://www.jboss.org/netty.html">Netty</a> ist ebenfalls ohne Probleme möglich, nur um hier auf den flexiblen Einsatz der JVx Kommunikation hinzuweisen!</p>
<p>Die Kommunikation wird im Moment mit <strong>Java und .NET</strong> erfolgreich eingesetzt. Weiters funktioniert die Kommunikation auch ohne jegliche Anpassung mit <a href="http://www.android.com/">Android</a>. </p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2010/05/10/jvx-kommunikation-im-vergleich/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fundtruhe - APIs</title>
		<link>https://blog.sibvisions.com/2010/04/09/fundtruhe-apis/</link>
		<comments>https://blog.sibvisions.com/2010/04/09/fundtruhe-apis/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 13:49:10 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaFX]]></category>

		<guid isPermaLink="false">http://blog.sibvisions.com/?p=134</guid>
		<description><![CDATA[Zum Wochenausklang einige interessante Links für mobile Anwendungen:

JSON Serializer
Ein noch recht junges Projekt für die Objektserialisierung mit JSON.
JFXtras
Im Rahmen des Projektes werden Erweiterungen für Java FX entwickelt. Unter anderem neue Komponenten und Effekte.
AiCharts (Kommerziell)
Eine mächtige Bibliothek für die Erstellung von Charts unter Android.

]]></description>
			<content:encoded><![CDATA[<p>Zum Wochenausklang einige interessante Links für mobile Anwendungen:</p>
<ul>
<li><a href="http://github.com/ko5tik/jsonserializer">JSON Serializer</a>
<p>Ein noch recht junges Projekt für die Objektserialisierung mit JSON.</li>
<li><a href="http://jfxtras.org/">JFXtras</a>
<p>Im Rahmen des Projektes werden Erweiterungen für Java FX entwickelt. Unter anderem neue Komponenten und Effekte.</li>
<li><a href="http://www.artfulbits.com/Android/aiCharts.aspx">AiCharts</a> (Kommerziell)
<p>Eine mächtige Bibliothek für die Erstellung von Charts unter Android.
</ul>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2010/04/09/fundtruhe-apis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
