{"id":34976,"date":"2022-02-10T21:20:31","date_gmt":"2022-02-11T02:20:31","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=34976"},"modified":"2022-02-16T13:40:45","modified_gmt":"2022-02-16T18:40:45","slug":"micro-blog-moving-ios-app-to-react-native","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2022\/02\/10\/micro-blog-moving-ios-app-to-react-native\/","title":{"rendered":"Micro.blog Moving iOS App to React Native"},"content":{"rendered":"<p><a href=\"https:\/\/www.manton.org\/2022\/02\/09\/moving-away-from.html\">Manton Reece<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.manton.org\/2022\/02\/09\/moving-away-from.html\">\n<p>We are a small team, and maintaining so many different versions of our apps is difficult. On top of that, why invest so much time in Apple-only frameworks when Apple could upend our business with a new App Store tax or other disruptions?<\/p>\n<p>Going forward, the tentative plan is to abandon most of the current iOS codebase for Micro.blog, instead sharing it predominantly with Android using React Native. This will free up development time to keep making the Mac version even more Mac-like, sticking with AppKit.<\/p>\n<p>Mobile platforms like iOS and Android are much more similar to each other than either one is to the Mac. I love the Mac and don&rsquo;t want to compromise the UI on macOS with a cross-platform framework. macOS also remains the only open Apple platform, so investing in it feels right.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/02\/04\/app-store-external-purchase-fee-27\/\">App Store External Purchase Fee: 27%<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/02\/02\/schneier-on-sideloading\/\">Schneier on Sideloading<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/01\/12\/catching-native-apps\/\">Catching Native Apps<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2021\/08\/11\/1password-8-for-mac-early-access\/\">1Password 8 for Mac Early Access<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2020\/03\/05\/rewriting-facebook-messenger\/\">Rewriting Facebook Messenger<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2018\/06\/21\/airbnb-switching-away-from-react-native\/\">Airbnb Switching Away From React Native<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2017\/02\/08\/swift-and-react-native-at-artsy\/\">Swift and React Native at Artsy<\/a><\/li>\n<\/ul>\n\n<p id=\"micro-blog-moving-ios-app-to-react-native-update-2022-02-11\">Update (2022-02-11): Micro.blog is combining the Android and iOS apps, whereas 1Password combined Mac with other non-iOS platforms. Apple would like developers to use Catalyst or SwiftUI to combine the iOS and Mac apps, but neither company decided to do that.<\/p>\n<p><a href=\"https:\/\/twitter.com\/drbarnard\/status\/1491973980043030529\">David Barnard<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/drbarnard\/status\/1491973980043030529\">\n<p>Apple has lost the hearts and minds of so many talented developers. They&rsquo;ll realize soon enough just how valuable a resource they&rsquo;ve squandered. Yes, people will still build for their platforms, but when it&rsquo;s purely transactional, things are just&#8230; different.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/www.manton.org\/2022\/02\/11\/react-native-diary.html\">Manton Reece<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.manton.org\/2022\/02\/11\/react-native-diary.html\">\n<p>First, to clear up some potential confusion: we are not abandoning iOS! I still love my iPhone, even if I&rsquo;m very frustrated with how Apple is treating developers. We are embracing Android more fully, and limiting how much time we spend in Apple-only frameworks. Our iOS apps will still be the best we can make them.<\/p>\n<p>[&#8230;]<\/p>\n<p>The toolchain for React Native makes me a little nervous. It uses every package manager you can think of: Node, Yarn, Ruby Gems, CocoaPods&#8230; It feels fragile, but there are so many thousands of developers using this framework, I&rsquo;m also not very worried about it breaking.<\/p>\n<\/blockquote>\n\n<p id=\"micro-blog-moving-ios-app-to-react-native-update-2022-02-16\">Update (2022-02-16): <a href=\"https:\/\/twitter.com\/mattbirchler\/status\/1492167904611037185\">Matt Birchler<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/mattbirchler\/status\/1492167904611037185\"><p>Whenever we hear about a company moving to non-native app development, I always hear people say it&rsquo;s because the company either took massive funding and needs to develop fast, quality be damned.<\/p><p>That&rsquo;s not the case here.<\/p><p>[&#8230;]<\/p><p>I have felt alone out here banging the drum of, &ldquo;developers don&rsquo;t use things like React and Electron because they hate you,&rdquo; so I&rsquo;m eagerly watching my feeds to see if that&rsquo;s the conclusion people come to here or not.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/stroughtonsmith\/status\/1492242236456775684\">Steve Troughton-Smith<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/stroughtonsmith\/status\/1492242236456775684\">\n<p>One thing I haven&rsquo;t heard: are React (Native) &amp; Jetpack Compose dependable? Is SwiftUI outlier here, in how much of a mess it is in production? Or is that inherent in the other UI frameworks it&rsquo;s competing with?<\/p>\n<p>Apple&rsquo;s UI frameworks have never been bottom of the barrel before<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/RebeccaSlatkin\/status\/1453919393235316736\">Rebecca Sloane<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/RebeccaSlatkin\/status\/1453919393235316736\">\n<p>I never said ReactNative is bad. However, based on my experience using ReactNative I can&rsquo;t think of one person whom I love so little as to be willing to recommend they use it.<\/p>\n<\/blockquote>\n\n<p>See also: <a href=\"https:\/\/www.manton.org\/2022\/02\/12\/react-native-diary.html\">Manton Reece<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Manton Reece: We are a small team, and maintaining so many different versions of our apps is difficult. On top of that, why invest so much time in Apple-only frameworks when Apple could upend our business with a new App Store tax or other disruptions? Going forward, the tentative plan is to abandon most of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2022-02-11T02:20:33Z","apple_news_api_id":"59d6eee8-5632-41a7-b05e-b09d79b9224a","apple_news_api_modified_at":"2022-02-16T18:40:48Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAABQ==","apple_news_api_share_url":"https:\/\/apple.news\/AWdbu6FYyQaewXrCdebkiSg","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[91,31,2078,26,30,32,2077,1462,1249],"class_list":["post-34976","post","type-post","status-publish","format-standard","hentry","category-technology","tag-appstore","tag-ios","tag-ios-15","tag-iosapp","tag-mac","tag-macapp","tag-macos-12","tag-micro-blog","tag-react-native"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/34976","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=34976"}],"version-history":[{"count":7,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/34976\/revisions"}],"predecessor-version":[{"id":35023,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/34976\/revisions\/35023"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=34976"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=34976"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=34976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}