Material-UI v0.18.7 docs example has a build for ios/android, but it is not clear to me if it also works for react-native. While I could make it work for react (web), I could not make it work for react-native.
Is it possible to run the docs example for react-native ?
PS: If it doesn't work for react-native, then why do the ios/android build exist ?
android and ios was only folders for poc, and that implementation has react-native 0.17 version only, react native changed a lot through the time and now has ^0.47 version.
As I see, previous roadmap of working with react native included writing of native components and reorganisation of project,. So material-ui 0.18.7 does not support react-native,
As they wrote, there are a lot of troubles:
Bringing the web API to the native
We gonna have to make sacrifices, I'm expecting some web feature to be really hard to implement on native, for instance, the CSS media queries, the CSS animations. (advanced CSS rules)
Handling missing native API in the web
Some of the missing web API features is around touch handling, scroll & infinite list view, native components like a DatePicker or a Drawer.
So, it is only included in roadmap, check out discussion about it here:
https://github.com/callemall/material-ui/issues/593
Related
I might need to decide for a company which technology to choose, Ionic (with Cordova or Capacitor) or React Native. In this context, please help me to understand the Code-Push process.
Ionic ships all non-native code for an utilized (system-default) browser. As a developer you write REAL web code, e.g. JS, HTML and CSS. Therefore, there is no need to submit a new build version to the App-/Playstore, unless native plugins were changed.
Now writing React Native feels like writing a React web app, but as a developer you quickly notice that you can only use specific tags like <Text> which later get compiled to native components. Stuff like <div> and <span> does not work in that context.
So my question is, if React Native compiles basically all the code (not just the native Android/iOS modules) into native code, how does CodePush still work? If native code is updated with basically every change, why does CodePush not work after updates of those actual native modules that require a bridge? Where is the difference between a native and non-native module in React Native?
I think the third framework relevant in that context is Flutter, which seems to have its own live-update service: https://waytoon.github.io/Chimera/ Is that also limited to updates of non-platform-specific code?
Ionic was built with mobile in mind - creating a good mobile experience using web technologies. You start out with a web app, so there is the possibility to use it for all 3 platforms. However I’ve never seen anything that resembles a complex web application that uses iconic for both the web and mobile. Will it support the ability to use 3rd party controls such as complex grid controls that may only be used on the web and not in the mobile apps. I’m trying to decide if we use ionic just for mobile and have a completely separate code base for our web application. Any invites would be greatly appreciated!
Basically everything that works on the web also works on mobile devices built with Ionic.
Ionic creates a WebView where javascript code runs. you can use capacitor or cordova to manage native functionality.
So if you have web developers you can do anything you could do as "Mobile Web" but in an app.
Now you can also choose whether to use react, angular or vue.
For example using Ionic with react you can use the VirtualDom and develop exactly as if you were using react on the web.
Instead, using for example React Native you will be forced to use a set of react components (or write new ones) but you will not have the VirtualDom available.
However you can also integrate native code, which Ionic doesn't support.
There are a lot of articles online that cover the subject by comparing competitors:
From Ionic
So yes, you can use all javascript libraries!
What is the reasoning behind using a <ion-input> instead of just a normal <input> element?
This question also regards using Ionic components in general. Why not just use my own components? I am aware that Ionic have different styles for some of the components, but if I want a same looking input on both android and ios, then couldn't I just use a normal <input>?
Ionic framework itself is a library of rich UI components, which unifies development experience by making codebase: platform agnostic. So developers can focus on one code base, Ionic component takes care of adapting its look to the native platform. Ionic components natively provide rich UI, platform continuity, easy navigation & event handling, native access & theming.
You can read more in detail here.
Developers choose Ionic framework in technology stack so one don't have to write custom styling/code for each platform.
Instead if you are using basic html tags, then you are even better off putting Ionic in your technology stack as you are just reinventing the wheel & writing custom code for each platform (iOS, Android, Electron, Browser, Mobile, Tablet) for styling & event hanling.
UI Components
For those completely new to Ionic app development, it can be helpful to get a high-level understanding of the core philosophy, concepts, and tools behind the project. Before diving into complex topics, we'll cover the basics of what Ionic Framework is, and how it works.
UI Components
Ionic Framework is a library of UI Components, which are reusable elements that serve as the building blocks for an application. Ionic Components are built with web standards using HTML, CSS, and JavaScript. Though the components are
pre-built, they're designed from the ground up to be highly
customizable so apps can make each component their own, allowing each
app to have its own look and feel.
More specifically, Ionic components can be easily themed to globally change appearance across an entire app.
customizing the look, please see Theming.
Does anyone know if it’s possible to develop a fully Native iOS and Android based Social Media Platform using React Native and Swift or Objective C to integrate a native instant messenger app into the newsfeed via a floating icon?
Our website is responsive and would make a great hybrid app using a native wrap but we are looking to stray away from web based solutions and want to try and build a fully native solution with React Native and possible Swift or Objective C. We discovered a decent IM sdk that is feature rich but is written in Objective C and Swift and wish to use this Instant Messaging Solution and attempt to match chat graphics with the rest of the app.
All thoughts, ideas and solutions are appreciated.
You can write code in Objective-C/Swift or Java for developing your own modules and to take advantage of native API for iOS or Android. But React-Native has some build-on modules that would simplify your workd just by writing JavaScript and that the magic of React-Native. It makes possible to build Apps in JavaScript that use real native elements and not just WebViews.
If you need to write your own modules in Objective-C/Swift or Java you should make use of the Bridge that implements React-Native for sharing data between Native-Code and Javascript code.
"Sometimes an app needs to access a platform API and React Native doesn't have a corresponding module yet. Maybe you want to reuse some existing Objective-C, Swift or C++ code without having to reimplement it in JavaScript, or write some high performance, multi-threaded code such as for image processing, a database, or any number of advanced extensions." from React-Native oficial website
im new to mobile development and i see ionic framework has very big community BUT
i know that ionic uses webview while nativescript generates native components
my question now what nativescript can do ionic cannot do?
in other words what is the powerful points in nativescript that does not exists in ionic
thanks in advance.
Ionic is hybrid, running inside webview which has problem with performance at particular things like even simpler animation, not fully accessible API of native part
Nativescript runs as native app, controlled by JS code but can be used even with native code or even as addon to native app and full access to API of native code