Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
I'm planning to develop an Mobile App in react-native, as i'm new to this language and i have gone through some react-native tutorial videos in udemy, i just want to know the difference between React Native CLI vs Expo CLI. If we are to develop an iOS and Android application which uses bluetooth, location and camera API's which CLI we should go with ?
I couldn't find any specific libraries (bluetooth, location and camera)from the react-native team, is it that we need to create our own library in native language(Swift or Objective C and Java or kotlin) and expose them to react native through bridging or can we use third party libraries which are already available ?
Thanks.
What is the difference between Expo and React Native?
Hope this help you :)
As my knowledge:
Expo doesn't support you to go deep into Native Modules. So it means you can't write your Java/Objective-C code for your own purpose.
But if you are just started to React Native, I think expo will bring a lot of advantages for new people, by a lot of supported modules like some of your listed: Camera, Location
But unfortunately, Bluetooth module is currently not support in expo, you if this is a crucial feature of your app, you must use React native CLI.
However, you still can detach your expo app and attach it into your React Native CLI app by using ExpoKit. Still:
The downside of detaching to ExpoKit is that you will have to set up the standard native development environment for React Native!
Another downside is that you're limited to the React and React Native version used by ExpoKit at the time you detach your app. This means that there might be compatibility issues that you will need to resolve if the native module you're trying to install depends on an earlier version of React or React Native.
You can find more here: https://code.tutsplus.com/tutorials/detaching-expo-apps-to-expokit-concepts--cms-30661
Related
Myself and a team are starting a potential startup and one of the things we want to do is a mobile app. We have already identified the target audience to mainly be iPhone users. But here in the US there's still plenty of Android user so we've been considering using a cross platform framework like Flutter. I've seen a lot of praise that Flutter is easy to use and can help us deliver an MVP faster. My ideal situation is to start developing with Flutter and when the app is successful migrate it to a native iOS app using Swift. But is that possible at all? Or if we decide to go native when we already have a flutter app, do we need to start from scratch?
Developing a Flutter app is completely different from developing an Android or iOS app. It has different language, has it's own architechture with it's own packages/dependencies/plugins.
You cannot convert from one of them to the other.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I want to know whats's difference between a hybrid mobile app and a progressive web app?
Maybe I know the answer. But I'm not sure and I can't find a clear solution. As far as I know, a native app is a normal smartphone app which was developed with Android/Java or Swift (iOS). I have access to the operating system which runs on the smartphone and hardware near stuff like the battery level.
With a hybrid app, which can be developed with Ionic 2/3 or React Native, I have a few functions and possibilities like the Push Notifications. But less functions and possibilities than in Android or Swift. Hybrid Apps are a mix between native and web apps. So they are developed with different javascript frameworks. Ionic 2 uses Angular 1.x and Ionic 3 now uses Angular 4. I'm not sure if an newer version of Ionic 2 uses Angular 2 or an older version of Ionic 3 uses Angular 2. It's possible that they skipped Angular 2. React Native uses of course React. I have access to the operating system, but as example I can't have access to the battery level.
A progressive web app is a web app which works on the smartphone. I can use pure HTML, CSS and JavaScript or different frameworks like Bootstrap, Angular or React. But I don't have to use Ionic or React Native.
Am I right?
One big difference is that progressive web apps uses a service worker.
I don't know whats the right word. But if I create a new Android app I also can use HTML, CSS and JS inside the Android app. Are this called a progressive web app or does it have also word?
What else are differences between hybrid mobile apps and progressive web apps?
Thank you for your help in advance
Hybrid apps are apps build with web technology (HTML/CSS/JavaScript) and run in a native app using a webview, ie hybrid. These apps are packaged and go through one of the appstores. By using plugins all native functionality can be used. The web frameworks used are not what's making it 'hybrid', it's the web application running inside the native app.
A progressive web app is an enhancement on a 'normal' website giving it superpowers. It is fast, reliable and engaging. It can run outside of the browser being placed on the user's homescreen and it can run offline. It gives the user the feeling it is running a native app, by using modern web techniques native features like push messages (Web Push API). You must use HTTPS to keep it secure.
There is another option that goes inbetween, the Hosted Web App. In this case you are basically creating an empty packaged app that shows your website. Giving you store presence and the benifits of having your website run on its own.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I will soon start mobile development on iOS and I would like to know if it possible to create an app with Go along with React Native (for example) without using Swift or Objective-C.
I searched for answers about Quora and Google, but none are precise enough.
There are alternatives to native iOS apps without Swift or Obj-c, such as HTML5, Xamarin (C#), PhoneGap, Cordova, etc. but these alternatives have sacrifices.
Most of your extra coding time would be invested in workarounds to make these alternative technologies work. If you want your app to perform better than a web app, then you should use Obj-C or Swift.
This is good question, and I did many research on this, results:
The most promising option in Golang is: Package app lets you write portable all-Go apps for Android and iOS
Most applications in Apple’s App Store are written in the Objective-C and Swift programming languages, and developers typically use Xcode to develop their applications (Four Ways To Build A Mobile Application, Part 1: Native iOS).
There are some cross-platform options:
- React Native
- Building HTML5 mobile apps with the Ionic Framework
- Xamarin.iOS
- Develop iOS applications with RAD Studio
- PhoneGap, build cross-platform apps using HTML, CSS and Javascript
- Cordova apps for iOS
- Adobe AIR for iOS, built with ActionScript and Flash as iOS apps
Some relative questions:
Developing cross platform mobile application
How to build a cross platform app
Building Cross Platform app - recommendation
React Native v Xamarin Forms - Choosing Cross Platform App Environment
List of Delphi language features and version in which they were introduced/deprecated
You can build basic (and more with packages) iOS/Android apps using react-native. It is a great tool to build iOS apps using js. There are loads of modules and community support (https://js.coach/) to help you build out of the basics. I've been building apps on react-native and the result is on par with native apps. There is a small learning curve in react-native but it is definitely worth it
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed last month.
Improve this question
I am thinking of developing an cross-platform app for iOS and Android using Qt.
Has anyone done this before?
My app consists of 3 things:
a simple pedometer
a webview to a simple website
connection to Apple Health's API
I wan to know if this would be technically possible with Qt and if a simple app like this would be accepted into the appstore (I've heard of difficulties about publishing apps that are not coded natively).
From Qt;
Clang, the compiler used for iOS applications, allows mixing C++ and Objective-C code. To enable this mode, suffix your source files with .c mm, and add them to OBJECTIVE_SOURCES instead of SOURCES in the .pro file. This makes it possible to use frameworks from Apple's iOS Developer Library in Qt applications. Most useful is perhaps the possibility for adding In-App Purchasing with the StoreKit framework.
With connecting to Apple Health's API you'd have to use Objective-C/Swift code. This is a code example mixing C++ and Objective-C https://github.com/richardmg/qtdd13_qmlapp
As to publishing apps that are not coded natively, Clang is the front-end and LLVM is the back-end that compiles C, C++, Objective-C and swift code. If the compiler compiles code written in those languages or if you're able to test run the app you wrote on the OS, there shouldn't be problems publishing them. Unless there are some issues such as security with your app. The only problem you might face is being able to use specific features of the OS in your app like Apple health kit API or in-app purchase API written in python or C++ or any language that can be used to write iOS/Android apps. In which case, you'd have to use their original API. There are apps in iOS/Android app stores that are not written in their native languages.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm using phonegap to run my HTML/JS code in a native app for iOS. Is there any way to do this on the Mac for inclusion in the Mac App Store? Or just platform that allows me to run HTML/JS in a native app wrapper?
So far the only thing I've seen is phonegap-mac but I'm not entirely sure how to use it:
https://github.com/phonegap/phonegap-mac
Phonegap-mac hasn't seen any work in a while. Perhaps try MacGap (https://github.com/maccman/macgap), which is a fork and is still being actively developed.
UPDATE 2014-03-18: MacGap hasn't seen a lot of work recently either.
For my latest HTML5 Mac App Store app, I used Cordova http://cordova.apache.org, as I think long term that is now the better solution.
There is a cordova-osx version which can generate a OSX project. It's no where near as complete as the iOS / Android cordova platforms, but it works - and is probably a better solution than MacGap if you're hoping to support both iOS + OSX. (having said that, MacGap probably works better "out of the box" currently).
Note that the Cordova CLI doesn't currently work with cordova-osx - you have to maintain the OSX X-Code project manually, which is a pity. As well, many of the Cordova plugins don't support OSX.
I had to do a fair bit of 'hacking' to get my app working on Cordova OSX. But at least I now have a HTML5 app which can run on Android / iOS / OSX which is pretty cool.
UPDATE: Titanium Desktop has been renamed tidesdk http://www.tidesdk.org/ and looks really great. Gonna try it fast.
MacGap (https://github.com/maccman/macgap) should provide a great solution for you. It's under active development, and provides access to a range of OS X desktop-specific features such as:
menu items
dock badge
window positioning
Growl and native OS X 10.9 notifications
Fonts
as well as sound, app events, clipboard access, etc etc
By comparison, cordova-osx has very limited OS X desktop integration (almost none, I believe). It is also very hard to find any documentation on. Other solutions have either died (TideSDK) or are proprietary, which may or may not be what you're after.
Disclaimer: I'm a collaborator on the MacGap project.
I've never seen an app in the mac app store that uses phonegap, but I created a sencha touch app for the iphone and ipad using phonegap and I wanted to throw it into a mac app. It wasn't difficult, I didn't use Phonegap, but I used all my SenchaTouch/Javascript/html files and was able to display them in the standard webview that you can put into a mac app using interface builder. So i had native controls around the outside and my senchatouch app on the inside. You can do this with any html5 framework.
It wasn't really a good idea for my senchatouch app because that isn't designed for a traditional mouse, but it was definitely functional and worked. Also using a webview in this way wouldn't violate any of the app store submission rules (unless the app just plain sucked lol).