Skip to main content

Posts

Showing posts with the label cross-platform

Netflix Android and iOS Studio Apps — now powered by Kotlin Multiplatform

  The high likelihood of unreliable network connectivity led us to lean into mobile solutions for robust client side persistence and offline support. The need for fast product delivery led us to experiment with a multiplatform architecture. Now we’re taking this one step further by using Kotlin Multiplatform to write platform agnostic business logic once in Kotlin and compiling to a Kotlin library for Android and a native Universal Framework for iOS via Kotlin/Native. Netflix Tech Blog

From React Native to Flutter

Scoring Is there still a place for react native? If you really, really, REALLY want your app to feel like a native app Flutter: cupertino UI available... If you do not want to use animations If your app only uses standard UI components If you need to use JavaScript libs If you are coming from web-development background Would I reommend migrating to flutter? You can use your experience from react native You can use the same design patterns and development methologies in both frameworks Developer experience is much better with Flutter https://habitchallenge.co/

Android with Kotlin, iOS with Swift, Kotlin Native, flutter.io, React Native, PWA, Xamarin, Hybrid - which way to go?

Currently there are tons of frameworks how to get your business model to the user... and in the app store Full Native Android with Kotlin, iOS with Swift Deepest integration Single way to make sure that you have no lock-in effect with a framework, and you are f**ed, when Apple or Google disallows the usage of a specific technology... Two teams required 2x code PWA (Progressive Web App) Write offline- and push-capable PWA with web-technologies only Some native features might require hybrid native development and bridging (like In-App purchases, AR, ...) In best case: One web team only for website and app Maybe some native specialists for special features Kotlin Native Develop a shared framework with or without UI using Kotlin Native Additional native code will most probably be required Big Android team, small iOS specialists flutter.io (React Native | Xamarin | ... ) One codebase (flutter: Dart, React Native: JavaScript, Xamarin: C#) Additional native code ...

Native App-Entwicklung: Microsoft macht Blazor mobil

Die Redmonder haben mit den Mobile Blazor Bindings eine neue Variante von ASP.NET Core Blazor vorgestellt, mit der Entwickler native Apps entwickeln können. Die Mobile Blazor Bindings unterstützen im ersten Schritt nur die Entwicklung von Apps für iOS und Android. Die Benutzeroberflächenbeschreibung erfolgt dabei nicht wie sonst üblich in Blazor mit HTML und CSS, sondern mit Xamarin Forms – siehe Microsofts folgendes einfaches Beispiel mit Xamarin Forms und C#. Xamarin Forms ist ein auf der Extensible Application Markup Language (XAML) aufbauendes plattformneutrales GUI-Framework. Golem.de

React Native is the Future of Mobile at Shopify

So why the switch to React Native? And why now? How does this fit in with our native mobile development? Why Move to React Native Now? There were 3 main reasons now is a great time to take this stance: we learned from our acquisition of Tictail (a mobile first company that focused 100% on React Native) in 2018 how far React Native has come and made 3 deep product investments in 2019 Shopify uses React extensively on the web and that know-how is now transferable to mobile we see the performance curve bending upwards (think what’s now possible in Google Docs vs. desktop Microsoft Office) and we can long-term invest in React Native like we do in Ruby, Rails, Kubernetes and Rich Media. Engineering Shopify

Why Dropbox sunsetted its universal C++ mobile project and AirBnB its React Native implementation

Dropbox:  The (not so) hidden cost of sharing code between iOS and Android By writing code in a non-standard fashion, we took on overhead that we would have not had to worry about had we stayed with the widely used platform defaults. This overhead ended up being more expensive than just writing the code twice. The overhead of custom frameworks and libraries The overhead of a custom development environment The overhead of addressing differences between the platforms The overhead of training, hiring, and retaining developers Although writing code once sounds like a great bargain, the associated overhead made the cost of this approach outweigh the benefits (which turned out to be smaller than expected anyway) Dropbox Blog Airbnb: Sunsetting React Native [..] As a result, moving forward, we are sunsetting React Native at Airbnb and reinvesting all of our efforts back into native. React Native at Airbnb @Medium.com

Mobile Development: Native, Hybrid or Web?

When starting a new app from scratch you are faced with a lot of technical choices based on your own targets and considerations. Kiran Shinde has a nice overview and pro and contras. Choices Native Approach Kotlin Swift Web Approach PWA Cordova Cross-Platform Approach Flutter React Native Xamarin Considerations Required Platform Support Application Functional Specs Goto Market Time Budget Current Expertise Check details here: Pathways to Mobile Development @Medium.com Kiran Shinde

Google Play Store now open for Progressive Web Apps

Chrome 72 for Android shipped the long-awaited Trusted Web Activity (TWA) feature, which means we can now distribute PWAs in the Google Play Store! Is TWA a Hybrid framework, similar to Cordova? No. With Cordova or other hybrid solutions, you are typically shipping your web resources (HTML, JS, CSS, etc.) within your APK package. Also, the engine is different and isolated from the users’ browser, so no session or cache sharing. With Trusted Web Activity you don’t need to package any resource file from your PWA (only native components, in case you want them); all your resources will be downloaded and updated on the fly from your Service Worker. Your PWA will still be rendered with the installed Chrome version, sharing all storage, cache, and sessions with the browser. Therefore, if your user has a session on your website opened when the user installs the app from the Play Store, she will still be logged in. The user is just installing a shortcut to Chrome using a special mode. How...

Working natively with JavaScript in iOS and Android without WebView

Using JavaScript code from native code without using a WebView (sic!) can be really useful to introduce dynamic functionality that was updatable without need of updating the app shorter iteration cycles share code between backend and native iOS and Android apps You can have business logic provided by a JavaScript that then controls the app that inject native functionality in the JavaScript context. You could even write an A/B testing framework based on this approach. iOS iOS offers the native JavaScriptCore: Evaluate JavaScript programs from within an app, and support JavaScript scripting of your app. So you can evaluate a script and read its return value natively: context.evaluateScript(myLib); let result = context.evaluateScript("myFunction();") let myFunction = context.objectForKeyedSubscription("myFunction"); let parametrizedResult = myFunction.invokeMethod(...) Or you can inject a native object into the JavaScript engine: @objc protoco...

TechLead: React Native vs Flutter vs WebView - Hybrid Mobile App Development for 2018

Topics covered: Xamarin, Cordova, Flutter, Titanium, React Native, Flutter React Native Web Views Native Development: iOS and Android Types of apps: Fully native high interactivity expensive: iOS and Android high interactivity, personalization, performance worth for top 50 apps less and less apps are installed you need to shine to be discovered user picks only best app among similar featured apps Hybrid Technologies Xamarin, Cordova, Flutter, Titanium, React Native, Flutter Be aware of the maturity lock-in effect infrastructure and tooling required might get worst of both world should be incrementable updatable check where it makes sense WebViews only Native App shells: Amazon App, Apple App Store, WeChat Mainly for smaller companies Trending on Google Links: AirBnB is sunsetting its React Native development What’s Next for Mobile at Airbnb Server-Driven Rendering Even though we’re not using React Native, we still see the val...

Deeplinks in apps

Deeplinks in apps are essential to offer a seamless, interleaved experience of the app with E-Mails Websites Push messages Messengers (iMessage, Whatsapp, ...) Supporting external deeplinks prove very useful for Onboarding Marketing Sales Re-activation of users ...that all can independently work on their subjects without having to be supported by the developers (after they created the deeplinks!). Checkout: AirBnB DeepLinkDispatch (Android, 2,862 stars!) joeldev/JLRoutes (iOS, 4,300 stars!) dudego/DeepLinkHandler  (iOS, 28 stars...) Google Firebase Dynamic Links iOS: How to open Deep Links, Notifications and Shortcuts React Native Deep Linking for iOS and Android

Apps vs. Web

Eines scheint klar: Mobil büßt er gegenüber den Softwareprogrammen aus dem App-Store Nutzer ein. „Mittlerweile spielen Apps die wichtigste Rolle für den User – oder sie werden sie zumindest sehr bald spielen“, sagt Jan Wolter, Geschäftsführer von Applause EU. Apps bieten also im Gegensatz zum Browser Schnelligkeit gepaart mit Einfachheit und Bequemlichkeit. Sie öffnen zwar nicht die Welt ins gesamte World Wide Web, wie es der Browser kann, aber sie öffnen die Welt, die man möchte, wenn man ihr Icon auf dem Tablet anklickt. Die chinesische App WeChat geht noch weiter: Neben einem Messenger, vergleichbar mit WhatsApp, bietet sie einen Lieferdienst à la Lieferando, die Möglichkeit etwa das eigene Konto zu checken (wie sonst bei der Bank-App) und gleichzeitig die Chance etwa Promis zu folgen, wie es Twitter bietet. Solche Alpha-Apps können dadurch verschiedene Aspekte und Möglichkeiten des Internets verbinden und werden so zum idealen Zugangsportal zum Netz – so wie traditionell der ...

Universal Native Frameworks: Flutter vs. Xamarin

Flutter Uses Dart as programming language Draws on Skia Canvas Same UI, on all platforms The Good Flutter compiles to native Flutter supports hot reloading The Bad Flutter is written in Dart Flutter is in alpha "Flutter is unique in that while it allows access to native APIs, it doesn't use native UI elements," said developer Adam Pedley. Stanley Idesis: "Google's answer to Google's own problem" (building multiple apps for multiple platforms). "Flutter's main competitor, Xamarin, offers access to native APIs and simplifies your multi-platform application into one codebase. But it comes with an obvious downside: dependency," Idesis said. "If Xamarin shuts down or stops receiving support, so does your app. When you build your app in Xamarin, you essentially handcuff yourself to the platform -- and not in a fun way. Xamarin Flutter Xamarin Faces Challenge from Google's Flutter Mobile SD...

Electron - Build cross platform desktop apps with JavaScript, HTML, and CSS

If you can build a website, you can build a desktop app. Electron is a framework for creating native applications with web technologies like JavaScript, HTML, and CSS. It takes care of the hard parts so you can focus on the core of your application. Web Technologies Electron uses Chromium and Node.js so you can build your app with HTML, CSS, and JavaScript. Open Source Electron is an open source project maintained by GitHub and an active community of contributors. Cross Platform Compatible with Mac, Windows, and Linux, Electron apps build and run on three platforms. The hard parts made easy Automatic updates Native menus & notifications Crash reporting Debugging & profiling Windows installers   Electron

React Native and how to (partly) integrate it in your native app

React Native React Native lets you build mobile apps using only JavaScript. It uses the same design as React, letting you compose a rich mobile UI from declarative components. React Native uses the same fundamental UI building blocks as regular iOS and Android apps. You just put those building blocks together using JavaScript and React. With Hot Reloading, you can even run new code while retaining your application state. React Native combines smoothly with components written in Objective-C, Java, or Swift. React Native Currently it's full monty or none: Either you use React Native completely for you app or you can't use it at all, e.g. for a single widget or screen. If you face the same situation take a look at: Electrode Native: The Platform For Integrating React Native Into Your Apps Electrode Native offers a streamlined integration of React Native into existing mobile applications. With Electrode Native, there will no longer be a need for an en...

React Native: A year in review

It's been one year since we open-sourced React Native. What started as an idea with a handful of engineers is now a framework being used by product teams across Facebook and beyond. Today at F8 we announced that Microsoft is bringing React Native to the Windows ecosystem, giving developers the potential to build React Native on Windows PC, Phone, and Xbox. It will also provide open source tools and services such as a React Native extension for Visual Studio Code and CodePush to help developers create React Native apps on the Windows platform. In addition, Samsung is building React Native for its hybrid platform, which will empower developers to build apps for millions of SmartTVs and mobile and wearable devices. We also released the Facebook SDK for React Native, which makes it easier for developers to incorporate Facebook social features like Login, Sharing, App Analytics, and Graph APIs into their apps. In one year, React Native has changed the way developers build on every major...