<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Playgounds on blog.iankulin.com</title><link>https://blog.iankulin.com/tags/playgounds/</link><description>Recent content in Playgounds on blog.iankulin.com</description><generator>Hugo</generator><language>en-AU</language><lastBuildDate>Mon, 22 Aug 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.iankulin.com/tags/playgounds/index.xml" rel="self" type="application/rss+xml"/><item><title>Playgrounds are good</title><link>https://blog.iankulin.com/playgrounds-are-good/</link><pubDate>Mon, 22 Aug 2022 00:00:00 +0000</pubDate><guid>https://blog.iankulin.com/playgrounds-are-good/</guid><description>&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/img_2778.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;A couple of times (&lt;a href="https://blog.iankulin.com/protocols/"&gt;Protocols&lt;/a&gt; &amp;amp; &lt;a href="https://blog.iankulin.com/named-loops/"&gt;Named Loops&lt;/a&gt;) in the past few days I&amp;rsquo;ve needed to write and run a couple of tiny C or C++ snippets, and I&amp;rsquo;ve acutely felt the lack of Swift Playgrounds for it. It occurred to me that Playgrounds has been instrumental in my enjoyment of learning Swift - it&amp;rsquo;s just a bit magic to grab the closest device and noodle out an idea or to make sure I&amp;rsquo;ve understood a new concept.&lt;/p&gt;
&lt;img src="https://blog.iankulin.com/images/15152540.jpg" width="89" alt=""&gt;
&lt;p&gt;In a &lt;a href="https://podcasts.apple.com/us/podcast/episode-11-chris-lattner/id1505697997?i=1000478871841"&gt;conversation between Chris Lattner and Paul Hudson&lt;/a&gt; I&amp;rsquo;ve listened to recently, they discuss the value of &lt;a href="https://www.apple.com/swift/playgrounds/"&gt;Playgrounds&lt;/a&gt; and the excellent &lt;a href="https://docs.swift.org/swift-book/"&gt;Swift book&lt;/a&gt; in bringing the community along from Objective C. I could not agree more about the value of these two.&lt;/p&gt;
&lt;p&gt;As an alternative, I downloaded &lt;a href="https://apps.apple.com/in/app/c-programming-language/id499545918"&gt;C Language app&lt;/a&gt; for the iPad. This seems like a reasonable editor that uses an online compiler - it worked for my purpose although it wasn&amp;rsquo;t real snappy.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/img_2779.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;A couple of alternatives in the app store mentioned the ability to compile offline - which didn&amp;rsquo;t make sense to me until I pressed build on this one and realised it was using a server somewhere to do that work. So this may well not be the best one for AUD5.&lt;/p&gt;
&lt;p&gt;I was amazed to find heaps of online compilers for things which would have done the job just as well. I&amp;rsquo;ve bookmarked &lt;a href="https://itsourcecode.com/compile-code-run-using-online-compiler-ide-for-free/"&gt;this one&lt;/a&gt; which does all sorts of languages including C and Swift.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://itsourcecode.com/compile-code-run-using-online-compiler-ide-for-free/"&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2022-08-13-at-12.19.58-pm.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>App Development in Swift Playgrounds</title><link>https://blog.iankulin.com/app-development-in-swift-playgrounds/</link><pubDate>Tue, 19 Jul 2022 00:00:00 +0000</pubDate><guid>https://blog.iankulin.com/app-development-in-swift-playgrounds/</guid><description>&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/img_1938.jpg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;During the week I attended &amp;ldquo;App Development in Swift Playgrounds&amp;rdquo; run by &lt;a href="https://www.mattrichards.net.au/"&gt;Matt Richards&lt;/a&gt; with the support of some of the Apple team and hosted by &lt;a href="https://twitter.com/mssgellis"&gt;Dr Michelle Ellis&lt;/a&gt;. It was aimed a teachers looking at using Playgrounds for digi-tech teaching.&lt;/p&gt;
&lt;p&gt;The day included pulling apart one of the Playgrounds apps and rebuilding it - this being an example of a &amp;ldquo;top-down&amp;rdquo; approach - starting with a complete app and fiddling around with it - to better engage students. The alternative being a bottom-up approach where lesson one would be &amp;ldquo;good morning students, this is a variable, it can hold a value, it has a name we can use to refer to the value&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;This is of particular interest since in my learning journey I am trying to do both - I&amp;rsquo;m working through the &lt;em&gt;100 days of&lt;/em&gt;, as well as having a stab at building my first app. The &lt;a href="https://cs193p.sites.stanford.edu/"&gt;cs193p&lt;/a&gt; course also is tackling the problem from both ends - students start building the app in their first lecture, but also their first home reading assignment is 80% of the &lt;a href="https://docs.swift.org/swift-book/"&gt;Swift Programming Language book&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Clearly this top-down approach is highly engaging, but the cost is that when students (or me in this case) run into problems, they get super-complex super-quick. Even Swift noobs at the course were able to confidently alter the existing app to look quite different, but many (including me) ran aground in the afternoon when they tried to create an app to suit a different purpose.&lt;/p&gt;
&lt;p&gt;In any case, it was a great environment to learn in - being able to put your hand up and get expert assistance is a magical experience when you&amp;rsquo;ve previously been self-teaching and don&amp;rsquo;t even know the form of words you need to google to address your current problem, or that the answers you find at are a higher level than you can comprehend.&lt;/p&gt;
&lt;p&gt;Matt was a big proponent of using the example apps in the Playgrounds App Gallery to pinch ideas of how to accomplish things. For example, my app needed a scrolling list from where an entry could be selected and edited in another view, Matt straight away suggested I should have a look at the &amp;ldquo;Date Planner&amp;rdquo; app that had some similar functionality.&lt;/p&gt;</description></item></channel></rss>