<story><title>Exploring Flutter for Cross-Platform Mobile Development</title><url>https://sethlopez.me/article/exploring-flutter-for-cross-platform-mobile-development/</url></story><parent_chain></parent_chain><comment><author>mythz</author><text>Definitely interested in seeing how Flutter progresses, IMO it has the optimal architecture for developing native, x-plat iOS&amp;#x2F;Android UI (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;flutter.io&amp;#x2F;technical-overview&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;flutter.io&amp;#x2F;technical-overview&amp;#x2F;&lt;/a&gt;):&lt;p&gt;&lt;pre&gt;&lt;code&gt;   - High perf Skia based UI for pixel perfect rendering and high-level Material design widgets
   - React inspired, productive development model
   - Fast dev&amp;#x2F;iteration cycles with hot reloading
   - Productive and high-performance Dart language, natively compiled (AOT on iOS)
   - Enable native interop with underlying iOS&amp;#x2F;Android APIs
   - Actively developed by Google
&lt;/code&gt;&lt;/pre&gt;
Overall I think it has a superior architecture to React Native where it will enable higher-perf native iOS&amp;#x2F;Android Apps in a single code-base but still enables a productive development model with Instant UI updates and hot reloading. I&amp;#x27;ve done Java and Kotlin Android Apps as well as Obj-C and Swift iOS Apps but I find React Native&amp;#x27;s dev model a lot more productive.&lt;p&gt;Unfortunately I&amp;#x27;ve run into a few issues with React Native that I&amp;#x27;ve had to workaround which I&amp;#x27;ve submitted repros to months ago but received no response from the React Native team except in the last couple of days where they&amp;#x27;ve closed it without even looking at it because it didn&amp;#x27;t receive comments&amp;#x2F;activity from other devs. In the last 2 days React Native has closed 773 other issues because they consider it low priority:&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;facebook&amp;#x2F;react-native&amp;#x2F;issues?q=label%3AIcebox+is%3Aclosed&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;facebook&amp;#x2F;react-native&amp;#x2F;issues?q=label%3AIc...&lt;/a&gt;&lt;p&gt;This gives me low confidence that React Native will be a high quality platform with current low-priority issues lingering indefinitely so I welcome competition from Google with Flutter and will be anxiously looking forward to trying it out when it gets out of alpha.</text></comment>
<story><title>Exploring Flutter for Cross-Platform Mobile Development</title><url>https://sethlopez.me/article/exploring-flutter-for-cross-platform-mobile-development/</url></story><parent_chain></parent_chain><comment><author>svdev</author><text>I had high hopes for flutter but gave up after a while. It feels like their design meetings were spent arguing about grammar and splitting hairs, rather than thinking about ergonomics and how people would use it.&lt;p&gt;In Flutter, everything is a nested pile of objects with too many APIs to keep track of. Take this example: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;flutter&amp;#x2F;flutter&amp;#x2F;blob&amp;#x2F;master&amp;#x2F;examples&amp;#x2F;stocks&amp;#x2F;lib&amp;#x2F;stock_row.dart#L41-L56&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;flutter&amp;#x2F;flutter&amp;#x2F;blob&amp;#x2F;master&amp;#x2F;examples&amp;#x2F;stoc...&lt;/a&gt;&lt;p&gt;Why do I need to care if something takes a `child: (single object)` argument or a `children: [LIST of objects]`?&lt;p&gt;Flutter would be better with JSX: JSX hides how the puzzle pieces fit together. I don&amp;#x27;t care if it takes a child or children; just make everything connect the same way.&lt;p&gt;React Native&amp;#x27;s Flexbox also beats how Flutter did things. Why do I need to memorize which objects take which styling arguments? You want to center items on the screen? Re-nest everything inside a Center object! You want a column or a row of elements? Use a Column&amp;#x2F;Row object!&lt;p&gt;For a framework that&amp;#x27;s trying to bill itself as a great tool for prototyping, it feels like I&amp;#x27;m sifting through a mountain of minutiae. I was able to guess my way through a React Native app and be right 99% of the time. With flutter, my luckiest guess would lead me to an abstract base class... Then I&amp;#x27;d have to dig around to figure out what the hell I need to use to make a view scrollable. Seriously:&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;flutter&amp;#x2F;flutter&amp;#x2F;blob&amp;#x2F;c6b0f833af9e431df1e67f15e8b51a76e8bc7d71&amp;#x2F;packages&amp;#x2F;flutter&amp;#x2F;lib&amp;#x2F;src&amp;#x2F;widgets&amp;#x2F;scroll_view.dart#L42&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;flutter&amp;#x2F;flutter&amp;#x2F;blob&amp;#x2F;c6b0f833af9e431df1e6...&lt;/a&gt;&lt;p&gt;Why?</text></comment>