<?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>Flutter | Learn C Games Programming Blog</title>
	<atom:link href="https://learncgames.com/tag/flutter/feed/" rel="self" type="application/rss+xml" />
	<link>https://learncgames.com</link>
	<description>A blog about C, programming games and my ebook(s).</description>
	<lastBuildDate>Thu, 29 Jan 2026 13:59:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://learncgames.com/wp-content/uploads/2020/03/cropped-favicon-32x32.png</url>
	<title>Flutter | Learn C Games Programming Blog</title>
	<link>https://learncgames.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">181446779</site>	<item>
		<title>Swtching Flutter from snap to native</title>
		<link>https://learncgames.com/swtching-flutter-from-snap-to-native/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=swtching-flutter-from-snap-to-native</link>
		
		<dc:creator><![CDATA[David]]></dc:creator>
		<pubDate>Thu, 29 Jan 2026 13:56:56 +0000</pubDate>
				<category><![CDATA[Flutter]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[install]]></category>
		<guid isPermaLink="false">https://learncgames.com/?p=3501</guid>

					<description><![CDATA[<p>A recent update saw Flutter compiles on Ubuntu broken due to an issue with lld. This was only on Flutter installed under snap. To fix it, I removed Flutter and reinstalled it from Git. There were a few issues after that so I&#8217;ve documented them here. This is the process. First remove Flutter sudo snap [&#8230;]</p>
The post <a href="https://learncgames.com/swtching-flutter-from-snap-to-native/">Swtching Flutter from snap to native</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" class="alignleft size-full wp-image-3506" src="https://learncgames.com/wp-content/uploads/2026/01/reinstallingFlutter.png" alt="Reinstalling Flutter on Ubuntu" width="600" height="600" srcset="https://learncgames.com/wp-content/uploads/2026/01/reinstallingFlutter.png 600w, https://learncgames.com/wp-content/uploads/2026/01/reinstallingFlutter-300x300.png 300w, https://learncgames.com/wp-content/uploads/2026/01/reinstallingFlutter-150x150.png 150w, https://learncgames.com/wp-content/uploads/2026/01/reinstallingFlutter-250x250.png 250w" sizes="(max-width: 600px) 100vw, 600px" />A recent update saw Flutter compiles on Ubuntu broken due to an issue with lld. This was only on Flutter installed under snap. To fix it, I removed Flutter and reinstalled it from Git. There were a few issues after that so I&#8217;ve documented them here. This is the process.</p>
<p>First remove Flutter</p>
<pre><span class="token">sudo</span> snap remove flutter</pre>
<p>Then install it manually</p>
<p>cd ~</p>
<pre><span class="token">git</span> clone https://github.com/flutter/flutter.git -b stable</pre>
<p>Now modify .bashrc  (I prefer gedit but nano will do)</p>
<pre>nano ~/.bashrc</pre>
<p>Add this line at the end:</p>
<pre>export PATH="$PATH:$HOME/flutter/bin"</pre>
<p>Save it then do</p>
<pre>source ~/.bashrc</pre>
<p>Test the installation</p>
<pre>flutter doctor</pre>
<p>There may be some missing bits but this should fix them</p>
<pre>sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev</pre>
<p>and repeat flutter doctor until things are ok.</p>
<h3>Now I still had some issues</h3>
<p>Flutter doctor told me I had a different Dart installed.</p>
<p>So first remove the old one</p>
<pre><span class="token">sudo</span> snap remove dart</pre>
<p>Check with</p>
<pre><span class="token">which</span> dart</pre>
<p>My configuration still had the wrong dart in it. I searched these</p>
<pre>cat /etc/environment 
cat ~/.profile 
cat ~/.bash_profile 
cat /etc/bash.bashrc 
grep -r "dart" ~/.bashrc ~/.bash_profile ~/.profile /etc/environment /etc/bash.bashrc 2</pre>
<pre>then did</pre>
<pre>echo $PATH</pre>
<p>Which showed no dart references so</p>
<pre>ls -la /usr/bin/dart
which dart
sudo apt remove dart

which dart
dart --version
flutter doctor</pre>
<p>I then found that it was trying to use a snap version of cmake</p>
<pre>cd your_project
flutter clean
rm -rf build/
rm -rf linux/build/</pre>
<p>and removed Cmake cache files</p>
<pre>rm -rf linux/flutter/ephemeral/
rm linux/CMakeCache.txt 2&gt;/dev/null</pre>
<p>Finally I regenerated the build configuration</p>
<pre>flutter pub get
flutter config --enable-linux-desktop
flutter create
</pre>
<p>and all was well and after adding the correct SDK path into the project files, it finally compiled on Linux again. Phew!</p>The post <a href="https://learncgames.com/swtching-flutter-from-snap-to-native/">Swtching Flutter from snap to native</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3501</post-id>	</item>
		<item>
		<title>The perils of updates</title>
		<link>https://learncgames.com/the-perils-of-updates/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-perils-of-updates</link>
		
		<dc:creator><![CDATA[David]]></dc:creator>
		<pubDate>Sun, 25 Jan 2026 13:40:29 +0000</pubDate>
				<category><![CDATA[bugs]]></category>
		<category><![CDATA[Flutter]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[snap]]></category>
		<guid isPermaLink="false">https://learncgames.com/?p=3493</guid>

					<description><![CDATA[<p>So I&#8217;ve been working on my game and to save time build the web project as a Linux app. It compiles it and runs it quicker than doing it with Chrome.  Until yesterday. After doing the usual sudo apt update and then upgrade, and snap refresh.I had updated Flutter (and Dart)  and afterwards, upgraded all [&#8230;]</p>
The post <a href="https://learncgames.com/the-perils-of-updates/">The perils of updates</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="alignleft size-full wp-image-3494" src="https://learncgames.com/wp-content/uploads/2026/01/linux-flutter-build-error.png" alt="Target dart_build failed: Error: Failed to find any of [ld.lld, ld] in LocalDirectory: '/snap/flutter/149/usr/lib/llvm-10/bin' " width="1085" height="98" srcset="https://learncgames.com/wp-content/uploads/2026/01/linux-flutter-build-error.png 1085w, https://learncgames.com/wp-content/uploads/2026/01/linux-flutter-build-error-300x27.png 300w, https://learncgames.com/wp-content/uploads/2026/01/linux-flutter-build-error-1024x92.png 1024w, https://learncgames.com/wp-content/uploads/2026/01/linux-flutter-build-error-768x69.png 768w" sizes="(max-width: 1085px) 100vw, 1085px" />So I&#8217;ve been working on my game and to save time build the web project as a Linux app. It compiles it and runs it quicker than doing it with Chrome.  Until yesterday.</p>
<p>After doing the usual <em>sudo apt update</em> and then <em>upgrade</em>, and <em>snap refresh</em>.I had updated Flutter (and Dart)  and afterwards, upgraded all of the pubspec.yaml and finally ran <em>Flutter Doctor</em>.  It output this</p>
<pre><code class="language-dart" data-line="">Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.38.7, on Ubuntu 24.04.3 LTS 6.14.0-37-generic, locale en_US.UTF-8)
[!] Android toolchain - develop for Android devices (Android SDK version 36.1.0)
    ✗ cmdline-tools component is missing.
      Try installing or updating Android Studio.
      Alternatively, download the tools from https://developer.android.com/studio#command-line-tools-only and make sure to set the ANDROID_HOME environment variable.
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/to/linux-android-setup for more details.
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Connected device (2 available)
[✓] Network resources

! Doctor found issues in 1 category.</code></pre>
<p>I&#8217;m not worried about Android so Linux and Chrome were fine; everything is up to date.  Until I tried to run the app (as Linux) and got the message at the top. It says</p>
<pre>ERROR: Target dart_build failed: Error: Failed to find any of [ld.lld, ld] in LocalDirectory: 
'/snap/flutter/149/usr/lib/llvm-10/bin'</pre>
<p>I can still run it as a Chrome web app so it&#8217;s not the end of the world; more a speed bump than a road block but still annoying. I looked up the error but there was nothing really helpful. Installing lld did not fix it.</p>
<p>I asked an AI (Chrome what I could do and it have me three alternatives).</p>
<ol>
<li>Install a symbolic link to lld but that failed as the area is read only. Even with sudo.</li>
<li>Refresh from a different snap channel but even with a full reboot after doing that it made no difference.</li>
<li>Suggests uninstalling Flutter from snap and install it manually, so that&#8217;s what I guess I have to do.</li>
</ol>
<p>What a faff!</p>The post <a href="https://learncgames.com/the-perils-of-updates/">The perils of updates</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3493</post-id>	</item>
		<item>
		<title>Theming in Flutter &#8211; FlexColorScheme</title>
		<link>https://learncgames.com/theming-in-flutter-flexcolorscheme/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=theming-in-flutter-flexcolorscheme</link>
		
		<dc:creator><![CDATA[David]]></dc:creator>
		<pubDate>Fri, 16 Jan 2026 11:49:36 +0000</pubDate>
				<category><![CDATA[Flutter]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[tool]]></category>
		<guid isPermaLink="false">https://learncgames.com/?p=3490</guid>

					<description><![CDATA[<p>One of Flutter&#8217;s big strengths is its supports for theming;  you can define or change colours for every aspect of your UI but it can be a bit complicated. Now an open source project provides a way to simplify things. It&#8217;s called FlexColorScheme and is just superb. The image shows the playground where you can [&#8230;]</p>
The post <a href="https://learncgames.com/theming-in-flutter-flexcolorscheme/">Theming in Flutter – FlexColorScheme</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:1,&quot;href&quot;:&quot;https:\/\/docs.flexcolorscheme.com&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251214234819\/http:\/\/docs.flexcolorscheme.com\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 10:24:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-09 20:32:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-12 22:29:03&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-15 23:58:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-19 00:36:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-22 07:12:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-25 20:38:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-01 00:31:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-04 11:50:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-07 20:39:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-10 21:05:28&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-14 05:40:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 11:20:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-20 15:28:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-23 21:53:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-27 05:09:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 19:05:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 03:10:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 11:00:20&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 20:25:08&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-13 04:14:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 12:08:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-19 20:01:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-23 00:56:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-26 06:31:31&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-26 06:31:31&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]'></div>
<p><img decoding="async" class="alignleft size-full wp-image-3491" src="https://learncgames.com/wp-content/uploads/2026/01/flexcolorscheme.png" alt="FlexColorScheme playground screenshot" width="650" height="333" srcset="https://learncgames.com/wp-content/uploads/2026/01/flexcolorscheme.png 650w, https://learncgames.com/wp-content/uploads/2026/01/flexcolorscheme-300x154.png 300w" sizes="(max-width: 650px) 100vw, 650px" />One of Flutter&#8217;s big strengths is its supports for theming;  you can define or change colours for every aspect of your UI but it can be a bit complicated. Now an open source project provides a way to simplify things. It&#8217;s called <a title="Libnk to FlexColorScheme docs" href="https://docs.flexcolorscheme.com/" target="_blank" rel="noopener">FlexColorScheme</a> and is just superb.</p>
<p>The image shows the playground where you can pick a scheme and see how the controls look.</p>
<p>The documentation includes an indepth look at theming. The FlexColorScheme is a Flutter widget and there&#8217;s link to the source code on GitHub.  It is highly recommended.</p>The post <a href="https://learncgames.com/theming-in-flutter-flexcolorscheme/">Theming in Flutter – FlexColorScheme</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3490</post-id>	</item>
		<item>
		<title>Linux challenges with the Flutter game</title>
		<link>https://learncgames.com/linux-challenges-with-the-flutter-game/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux-challenges-with-the-flutter-game</link>
		
		<dc:creator><![CDATA[David]]></dc:creator>
		<pubDate>Mon, 15 Dec 2025 11:11:59 +0000</pubDate>
				<category><![CDATA[Flutter]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Dart]]></category>
		<guid isPermaLink="false">https://learncgames.com/?p=3482</guid>

					<description><![CDATA[<p>The architecture of this is all Flutter and Dart running on a Ubuntu Linux box. There are two pure Dart programs- one to create the game setup and one to do the processing. The first is run manually, the second by crontab. Then there&#8217;s the Flutter web app. The Flutter web app has to read [&#8230;]</p>
The post <a href="https://learncgames.com/linux-challenges-with-the-flutter-game/">Linux challenges with the Flutter game</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></description>
										<content:encoded><![CDATA[<figure id="attachment_3483" aria-describedby="caption-attachment-3483" style="width: 500px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-3483 size-full" src="https://learncgames.com/wp-content/uploads/2025/12/tuxandFlutter.png" alt="Tux and Flutter having a tussle" width="500" height="273" srcset="https://learncgames.com/wp-content/uploads/2025/12/tuxandFlutter.png 500w, https://learncgames.com/wp-content/uploads/2025/12/tuxandFlutter-300x164.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /><figcaption id="caption-attachment-3483" class="wp-caption-text">Generated by Gemini</figcaption></figure>
<p>The architecture of this is all Flutter and Dart running on a Ubuntu Linux box. There are two pure Dart programs- one to create the game setup and one to do the processing. The first is run manually, the second by crontab. Then there&#8217;s the Flutter web app.</p>
<p>The Flutter web app has to read and write files from the file system which of course it can&#8217;t do directly. I&#8217;ve created a backend of sorts using PHP.  There&#8217;s an API; it works but not without issues. If you&#8217;re calling a PHP script from a Flutter app, what is the URL?  It depends.</p>
<p>Say the URL is /file?params where I&#8217;ve modified .htaccess to pass /file urls onto a PHP script.</p>
<p>If I want to test this on the box in a browser I have to call <em>localhost/file?params</em> but in a Dart program running on the box it just calls<em> /file?params</em>.</p>
<p>The next problem is where are the game files stored. The setup program doesn&#8217;t really care. Any location will do so long as it doesn&#8217;t need to run elevated.  But the web app is limited to /var/www/html &#8211; it&#8217;s running under Apache on a linux box. In the end I created a folder under /var/www/game and each game is stored under there. PHP can read mostly anywhere, not just in /var/www/html and this provide a little extra security.</p>
<p>However there&#8217;s the not-so slight issue of permissions. The setup program runs under my login &#8211; call it <em>user</em>. So files are created owned by <em>user</em> <em>user</em>. The web app runs under <em>www-data</em> so to keep things simple, I&#8217;ve set permissions to <em>user:www-data</em> so both can access it. It&#8217;s a bit of a faff.</p>
<p>Here&#8217;s a tip. If you are developing a Flutter web app, develop it on Linux and do development as a Linux app. It&#8217;s far quicker building and launching a Linux app than it is the web app.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>The post <a href="https://learncgames.com/linux-challenges-with-the-flutter-game/">Linux challenges with the Flutter game</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3482</post-id>	</item>
		<item>
		<title>NoSQl or SQL?</title>
		<link>https://learncgames.com/nosql-or-sql/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nosql-or-sql</link>
		
		<dc:creator><![CDATA[David]]></dc:creator>
		<pubDate>Thu, 27 Aug 2020 11:10:42 +0000</pubDate>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[Dart]]></category>
		<category><![CDATA[Flutter]]></category>
		<guid isPermaLink="false">https://learncgames.com/?p=1264</guid>

					<description><![CDATA[<p>I&#8217;m still continuing C# development but no longer on MonoGame. My needs have now switched to Flutter. If you haven&#8217;t come across it, it&#8217;s a cross-platform mobile development system from Google and uses their Dart language.  This is a modern language originally created back in 2011 as a potential replacement for JavaScript. That didn&#8217;t work [&#8230;]</p>
The post <a href="https://learncgames.com/nosql-or-sql/">NoSQl or SQL?</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:547,&quot;href&quot;:&quot;https:\/\/pixabay.com\/users\/geralt-9301\/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=2723105&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260128125116\/https:\/\/pixabay.com\/users\/geralt-9301\/?utm_source=link-attribution&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 16:07:12&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-22 10:29:57&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-26 11:03:48&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-05 09:23:23&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-10 15:30:20&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-05 12:01:46&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-09 00:40:52&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-12 21:22:22&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-16 23:23:31&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-21 01:38:39&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-25 23:57:07&quot;,&quot;http_code&quot;:403}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-25 23:57:07&quot;,&quot;http_code&quot;:403},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:548,&quot;href&quot;:&quot;https:\/\/pixabay.com\/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=2723105&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;}]'></div>
<figure id="attachment_1266" aria-describedby="caption-attachment-1266" style="width: 300px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="size-medium wp-image-1266" src="https://learncgames.com/wp-content/uploads/2020/08/data-2723105_640-300x200.jpg" alt="Da" width="300" height="200" srcset="https://learncgames.com/wp-content/uploads/2020/08/data-2723105_640-300x200.jpg 300w, https://learncgames.com/wp-content/uploads/2020/08/data-2723105_640.jpg 640w" sizes="auto, (max-width: 300px) 100vw, 300px" /><figcaption id="caption-attachment-1266" class="wp-caption-text">Image by <a href="https://pixabay.com/users/geralt-9301/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=2723105">Gerd Altmann</a> from <a href="https://pixabay.com/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=2723105">Pixabay</a></figcaption></figure>
<p>I&#8217;m still continuing C# development but no longer on MonoGame. My needs have now switched to Flutter. If you haven&#8217;t come across it, it&#8217;s a cross-platform mobile development system from Google and uses their Dart language.  This is a modern language originally created back in 2011 as a potential replacement for JavaScript. That didn&#8217;t work out as other browser creators (Microsoft, Apple and Opera) didn&#8217;t go for it.</p>
<p>So Dart sort of languished until three years ago when Flutter emerged as an alternative to POA (Plain old Android development in Java/Kotlin). Flutter is the UI technology- interestingly it redraws the screen controls at 60 times per second, a bit like MonoGame. But this is no game.</p>
<p>The UI is programmed in Dart and it has one unique feature: You can make a change and see it live in one second. It&#8217;s called Hot Reload and compared to the old Compile, redeploy and run cycle is quite amazing., Also Flutter is cross-platform and has controls for iOS that look like Apple native controls.</p>
<p>Now my big decision is whether to use SQL or NoSQL to store data. The data isn&#8217;t exactly ordered like a schema, more like each database record has a variable number of name=value pairs. Which certainly suggests something NoSQLish.</p>
<p>&nbsp;</p>The post <a href="https://learncgames.com/nosql-or-sql/">NoSQl or SQL?</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1264</post-id>	</item>
	</channel>
</rss>
