I've had a similar experience with React-Native:
react-native link/unlink
to not break your app.create-react-native-app
and copy your code over.As a long-time user of React, I'm hopeful that React-Native improves and becomes more usable as it matures, but for now I'll stick with native and Cordova.
Thanks! I used Cordova. It's pretty simple to setup and package your program into an app with the documentation online.
Here's a high level overview of how I made it.
1) Create HTML/CSS/JS as if I'm making a web app, keeping in mind they need to look nice on mobile devices.
2) Create Cordova project following the steps here: https://cordova.apache.org/docs/en/latest/guide/cli/
3) Create a test file to try on my phones. This is to look for display/performance issues
4) Set the configurations: https://cordova.apache.org/docs/en/latest/config_ref/
5) Upload to the different stores: http://www.9bitstudios.com/2016/01/submit-apache-cordova-applications-for-ios-and-android-to-the-apple-app-store-google-play/
We used a framework called Cordova. It's basically a CLI tool that will package your code into an app and run it using a WebView.
There are a number of plugins built for it that let you access native functionality through your js code. For instance, we found our game ran better as an app when using native audio instead of web audio.
You could also use Ionic or PhoneGap, which I think are built on top of Cordova and make it easier to use/offer additional functionality.
Once you package it into an app then you still have to go through the process of getting it released into the app stores. For iOS you have to pay a yearly fee for a developer account and you need to actually have a mac to submit your game to them. For Android you pay a one time fee for a developer account and you can submit to them using any OS you like.
Sorry to be the bearer of bad news, but (and I think you mean) virtual desktops supporting an OS X guest system are spotty at best and for the most part unsupported.
Apple makes it incredibly dificult to do anything mac related outside of a mac. You can check out some resources for creating a "hackintosh" (a computer specifically setup to act as a mac, using non-apple products), but the one time I attempted, didn't work great (especially for development).
One approach, would be looking at creating a hybrid app with a framework like cordova or react native. I haven't had the best experience with those, but I know for some people as well as large companies, they work pretty well depending on the type of app (usually something simple).
If none of those options work for you, it may be good to focus on Android as you can work on that from any system (OS X, Windows, or Linux). To get some experience, then if it seems right to delve in to the expensive commitment of a Mac, then look into that.
I'm bored af at work. My product launched on Friday ("lets launch on a Friday afternoon, what could go wrong?"), so there's really not much to do. And I guess it's spring break in the rich suburban counties because no one is in the office (including my boss).
I went to get a haircut because no one told me not to, but the place was closed. And I realized it's just about long enough to donate, so I'll do that in like a month I guess?
I was supposed to go to Florence next week, but I don't think I'm going because I think my boss doesn't want me to. But I'm literally just looking at Cordova tutorials (I ran out of McMansion Hell 😭), so really being productive...
Ooooh, maybe I'll try to get irc going on my work computer/internet!
If you are not a programmer (and even if you are), don't underestimate multiplayer. Multiplayer is hard. Consistency and timing are a pain to get right.
Your game seems very ambitious, I would strongly suggest you start with a smaller feature set that can stand on its own, and then think about adding other elements to it. I would also recommend that you make a few tiny games first, like clones of simpler older games, so you can learn the ropes. Things like Snake, Space Invaders, Breakout, Asteroids for instance.
HTML5 (Javascript + Canvas + ...) can be used to do what you want, but for things like notifications on Android you will need to wrap it in something like Apache Cordova/PhoneGap, which provide easy to use Javascript bindings for native stuff like filesystem access, notifications, camera etc. It also allows you to wrap your web game into an installable app.
For Android, I suggest you take a look at CrossWalk, which wraps a more up to date Blink browser engine into your Cordova/PhoneGap application. By default Cordova gives you the system webview, which can vary wildly in supported features and performance across devices. CrossWalk makes it faster and allows you to use newer features, at the cost of significantly (50MB+ extra space used, 20MB extra download size).
I've seen good stuff made with Phaser, a Javascript game framework. It basically provides you with a lot of higher level, easier to use functions for drawing, playing music and sound, handling input (keyboards, touch, gamepads), etc.
iOS apps are sandboxed so I strongly doubt Avira is able to wipe your app’s data.
You mentioned you are using a mobile framework (Cordova), check the documentation for data storage to see if you’re doing something wrong.
You did not include that into your question.
You want to develop for Android/iOs/WindowsPhone or what?
You can use Cordova like LookWordsEverywhere suggested, but has it to be a native app?
Because creating something called "webapp" can come pretty close to native apps already and doesn't need to be installed on a device.
It's basically a website that behaves like an app. The only problem with webapps is that they have less rights on the resources of the mobile device the app is running on (because it is running in the browser).
Cordova is a framework to "pack" a webapp into an native app and give access to resources a browser doesn't have for security reasons.
You can make a tiny app with a full-screen webview in it then package all your html/js etc. locally. Takes all of about 10 minutes for someone that knows the tools.
If you want to get access to native APIs then using something like https://cordova.apache.org/ is pretty popular.
Be aware that if your web content is doing anything non-trivial it's likely to be significantly less performant than on a desktop.
The latest edition of Visual Studio has support for iOS. Source.
You could also try Apache Cordova if it meets your needs.
Okay, proper look at com.swanlock: The app seems to do everything it claims.
The app itself is a Cordova-based app (https://cordova.apache.org/). Author did a nice job putting all of the child/parent/device data into a firebase db hosted in Google, instead of building their own API and having to wrestle other problems. All access to that is encrypted-in-transit (https/tls), and even when pairing the child to the parent, it seems to generate a uniqueID, and a randomized secret (this is what the QR code contains). The secret is generated from sjcl.random.randomWords(8).. which is 32-bytes of random (256-bit). I don't see any evidence they store the secrets locally at all (yaay), and most certainly not in plaintext. The pin is then stored in firebase db online, encrypted using triplesec library, which is authored by a pretty reliable group.
There's not much to find fault, folks who built this are not rookies. Sorry for the false alarm on the other app!
It's worth noting that react-native increases development time over plain react + cordova/phonegap (if not using mobile library plugins). However, there are two main benefits:
1) more performant and responsive. 2) better(?) access to native api's like https://facebook.github.io/react-native/docs/cameraroll
If using plain react + cordova you also have access to plugins: https://cordova.apache.org/plugins/
Certainly look into https://expo.io/ and google around for "things I learned" using react-native if this is your first project with it.
Just little recommendation. You can just learn HTML, CSS and javascript and use this https://cordova.apache.org/ or this https://build.phonegap.com/
to just convert your web game into mobile app.
The sheer bulk of the commands are the same from the command line regardless of the the platform you use to develop. The official guide here is essentially the develop Cordova apps using OS X (or linux):
https://cordova.apache.org/docs/en/latest/guide/cli/index.html
If you want to target iOS then use:
https://cordova.apache.org/docs/en/latest/guide/platforms/ios/index.html
Cordova is not complex technology. It really is just a way to run a web page as an app (with some added plugins to interact with the device). Now, you can do some pretty creative things with that, but that's all it is.
If I were you, I'd start reading the Cordova docs. Once you get everything set up, you will see that what you get is a www
folder with an index.html
. From there you can add in Vue or whatever other technology you want to build with and just go for it.
Try Cordova, especially if you want a website/app combination. It's pretty easy to set up and has worked well for some of my prototype projects. Lately though I had an idea for a VR project and Cordova didn't really work out, was too slow. For simple non-graphics-intensive projects though it should work fine
I'm sure your course is setting up the building blocks for you, and will eventually make that jump into how it is relevant. Web development is the only universal language that every device across every platform knows how to speak. If you learn to build with web technologies, you can build experiences that target every single platform, under one codebase. Compare this to learning Apple's Xcode and Swift, and you can only target Apple hardware.
Take a look at the cordova project: https://cordova.apache.org/
Cordova wraps your web files into a native layer that can be deployed to the different app stores.
Take a look at Phaser: http://phaser.io/
Phaser is a game engine built on HTML5 and javascript (the language of the web)
"Making a website" is only one of the many things you can do with these technologies, it just happens to be the original use case.
Hi! This answer explains a way to do it for Android, as I think there's no way to make it work on all platforms (PC, Android, iOS, ...) with just one app.
1) Check both Cordova and Ionic, that are two frameworks that allow you to build mobile apps with HTML/Javascript/CSS languages only. All the building process and the app generation is made by the framework itself.
2) Each framework has its own documentation to guide you along the process.
3) It depends. If you just already have a website and want to "transform" it to a mobile app, then Android webviews might help you (they are just like HTML iframes but placed inside an Android app). If you want to provide more functions instead (such as menus, or use phone sensors or location) then you might want to use the above frameworks to simplify the coding.
I hope this can help you!
If your app is going to be a commercial product, then the Xamarin license is worth it.
If you're after free options, there is Cordova or you could just create a mobile-friendly website for your users.
Check out the NDK. But it's not supported very well AFAIK.
You can also check out PhoneGap and Cordova, these are HTML Frameworks that allow you to make apps using HTML, JS and CSS.
Or just learn Java, you don't need to implement convoluted interfaces and crazy design patterns and what not, you can make it simple.
It really depends on the app, but especially for a MVP I would NOT start with native iOS app development. This can be very costly.
I would highly recommend building a responsive web app to start. Responsive means that it adapts to the desktop, tablet, and mobile. This may be enough to test your idea and get feedback on your MVP.
If you really need to be in app stores you can wrap your web client with something like Cordova. This approach will give you Web, iOS, Android, Windows Phone all for your MVP. The apps that really require native development right from the start are rare.
For the back-end, I highly recommend Firebase that provides authentication and data storage for apps. This allows you to get up and running very quickly with a prototype/MVP.
With this approach you only need a good Javascript developer and you get an end-to-end app on all platforms.
Most apps connect to a webservice which handles the data, this means that developers usually only have to develop the user interface which connect to that webservice and handle the data. Most of the work goes into the webservice which can be coded by one team.
There's also an ongoing trend of using a web framework, which they can compile into binaries for various mobile systems (see Cordova and Ionic Framework). Before this was a trend, a lot of apps (like the old Facebook app) were nothing more than a webbrowser masked as an app connecting to a website.
For games they usually have a few teams working on the application, which also explains why most mobile games won't get released on all platforms at the same time.
> So my question is, should I try to make this app myself or should I get someone local who knows how to make it, do it?
That's entirely up to you! If you feel confident about your management and speaking skills, you can try to get in contact with someone who can do it already to make it for you. Or you can try to find a tech co-founder.
Perhaps the store itself would want to help you out if you ask for help? If you don't trust them entirely, I wouldn't go this route.
If not, or if you want the experience of having made something yourself more than anything else, I'd recommend learning HTML/CSS and using something like Intel's App Framework with Cordova or Phonegap to make an app with HTML/CSS/JS.
If you make it a web application you will have easier access to cross-platform tools so that you can release it as an iOS App AND an Android App AND it's a website, so desktop users.
I don't know, I'm a .NET guy myself. But my company keeps throwing tech at me because they know I learn it fast. I call it the curse of competency.
In case you need it, the URL for Cordova is https://cordova.apache.org/.
I don't know if it is possible, but maybe you can use Fay/PureScript/etc, compile the code to JavaScript and then use Cordova for the app?
For most mobile applications, for a beginner I strongly suggest you build a hybrid app using Cordova. Basically you build your app using HTML/JS/CSS(NO PHP) and you use Cordova to generate an installable app for any mobile phone. I think most people would agree that as a more or less total beginner to programming, Javascript is by far the easiest language due to non-strict typing and less of a focus on objects, lack of pointers etc. Most native object oriented languages like Java, C#, Objective-C are much much more complicated to learn.
Besides the benefit of not having to get into messy native code and IDE's, Cordova will easily make builds that are compatible with Android, iOS, Windows Phone, Blackberry, FirefoxOS, and I'm sure there are others. It's as easy as one command to add a new platform to your app. And with a little tweaking your code works as a fully functional website as well.
A Cordova app is basically a mobile browser with no nav bar, and with access to device api's like camera and gps. It's relatively simple to set up and you can use the chrome debugger to debug your app live on a phone or emulator.
Cordova apps don't run quite as smoothly as native apps, and there are some limitations to their functionality but most of that won't really apply if you just want to start building functional apps you can send to your friends with as little learning time as possible. Depending on how complicated your idea is, you could probably have a working app in less than 2-3 weeks.
If you have an Android device, it is by far the quickest way for a beginner to go from no knowledge to a functional app running on a phone with the least barriers to entry. PM me if you get it set up and I'll send you an app to poke around at and modify to suit your needs.
It's absolutely possible to combine JavaScript, game and mobile development. Look into canvas and WebGL. With Cordova you can access native APIs on mobile devices. Just play around with the technology and create something. Just keep in mind to focus and finish some project, even a small one. Good luck.
We have a bounty out for anyone that wants to port our app to Windows Phone.
The app is based on Cordova which supports Windows Phone, it shouldn't be too much work but we ~~have no Windows expertise internally .. yet.~~ gave priority to Android and iOS.
edit: It would be good to know how many people would want one as it would help us prioritize accordingly.
> BTW are there technologies other than Electron that allow you to use traditionally web based technologies on the desktop side?
Oh yes, there are many
https://cordova.apache.org/ was one of the first (and popular for a while)
https://reactnative.dev/ is very popular
and many, many more.
The infrastructure work that we did allows us to share significant business logic and components between iOS, Android, and the web, but each platform is entirely native (i.e. we don’t use something like Cordova or similar, to run the same app on multiple different platforms). This lets us tailor the experience to best suit each platform individually while still accelerating development, but it does also mean that the apps are not quite identical.
Yeah, there isn't a single answer to this. There's so many different requirements / languages / different ways to do the same thing that you're just going to have to continue to learn and try things out.
With that said, one option is Cordova for making an app with html / css / js.
I suppose it depends on how big the audio is. Tourists who don't have cheap roaming (which I presume includes the British) can download it over the hotel's WiFi. You are probably better off starting with a webapp to test demand. You can always move it to something like Cordova later if it takes off.
Oh, I see. You're referring to PhoneGap Build? Cordova is the same thing as PhoneGap and it's super simple to build locally. You can take the same code you were sending to PhoneGap Build and easily build it with the Cordova CLI: https://cordova.apache.org/docs/en/3.1.0/guide/cli/index.html
Making mobile apps is quite a process, and most people won't want to go to the effort unless they're generating income from it. Which, if you're making it for a customer base of one, is quite hard to justify and is a bit of weird use case (thus the lack of tutorials).
Whilst technically you can build a native app with the platform SDKs, or even something like Cordova or React Native , no mobile development project is especially simple, and there's still a fair amount of complexity in all of the approaches. Especially when you go beyond showing and interacting with things directly on the screen when your app is running - e.g. notifications, background processes.
If really is just basic conversions and calculators, why not make it a Javascript web app (which you can then host yourself, if you really want to)?
And for other more common things (weather, todo), why not look for and support an independent app developer (which doesn't force you to use a centralised service) that does those things well? If you ever start actually making one of these things that are apparently simple on the surface, you'll likely find a myriad of reasons why it's not quite a simple as you initially thought when being used in real life. On the plus side, though, it will be a learning experience and teach you to value UX designers and researchers a lot more :)
Start with HTML and CSS. That does layout, like put this header here and this button there.
Then learn JavaScript. It does logic. E.g., when I press this button, do this.
Then try playing around with (Cordova)[https://cordova.apache.org/]. It lets you write a program in HTML/CSS/JavaScript, then wraps it up into an app/package for iOS/android. Cordova can also be used to make desktop apps.
Of course this is only front end development. If you want to learn backend development (how to store users and data) you will need to learn SQL (or MongoDB), how APIs work, and ExpressJS in addtion to front end.
Finally, if you want to learn game development, most games are done with a game engine, not coded from scratch. I recommend Godot. It can export to iOS/android apps. With Godot you should also learn Python as the scripting language it uses (GDScript) basically Python with some minor change.
tldr:
If App
Frontend: HTML/CSS/JavaScript
Backend: (SQL or MongoDB)/ExpressJS
Package: Cordova
If Game
Frontend: Godot/Python
Backend (optional): (SQL or MongoDB)/ExpressJS
Yep Check out Apache Cordova https://cordova.apache.org/
It might require a little re-enginering and a few tweaks, but I've built several apps with it successfully
Your never going to get the performance of a native app, so it's not really for games etc, but it's perfectly reasonable for 90% of use cases
Probably, platform you use to convert mobile app firstly search index.html file to make main page of your application because this general convention. There is configuration file that you can specify main page file and directory. For example cordova provide some config file to specify this kind things.
I don't know much things about ejs. But i suppose, you can name your main page of website index.html with them. As i said, it is widely-use convention. If you do that, you can't be deal with config file.
I'd recommend javascript. This gives you more freedom over where you can deploy. For example, you can use Apache Cordova (aka Phonegap) to build a cross-platform mobile app.
There are also many great javascript libraries that you can leverage for your game, like PhaserJS. Plus, since you already know Python, you can easily code a server-side backend (if needed for your game) and deploy it anywhere more easily.
Also, Java is slow and shitty. People are going to hate on that comment and talk about how much it can be optimized but honestly you're not going to learn Java to that depth if you're only going to use it for 1 year. :)
Good luck!
If you already have a Vue project you can use Cordova / Phonegap to build a native app.
If you want more structure and pre-built components, I've also used Quasar with great success.
Please dont go the complicated route then :) Its much more fun to start simple and actually finish things and then proceed to more difficult stuff than to start hard and learn super slow with a lot of frustration (which i guarante you all the major "boxed" engines do to you).
There are plenty of great Game engines for Javascript. I personally like Crafty.js the most, had fun to learn MelonJS and think Phaser is really ok. If you want a "native" app you can just use something like https://cordova.apache.org/ or https://ludei.com/ or whatever else to package it into a sweet app ready to deploy to the mobile stores. With the added benefit that you can also upload the JS version to Newgrounds, Kongregate, ...
If you know a bit about web technologies then check out Apache Cordova. It's a dev kit that allows you to make native apps using web languages (html, css, & javascript). Best part is that it's cross mobile platform, meaning one app for all devices. Another neat thing is that you can use electron to bring that app to desktop operating systems as well since electron does the same for desktops. There will be a bit of logic handling depending on which platform you're on, but it's a great way to have highly portable code.
By all means you could set the PN sound to be a long annoying sound, though I'm not sure if there's a limit to the length of the sound clip. I don't think there is a way to override silent mode using this method, though.
You'd probably have to run the App in the background to achieve the other requirements. You could trigger a function on receipt of a notification and play your own sounds using the Cordova media plugin, which IIRC overrides silent mode, however it does not override volume. You can define a vibration pattern on Android and Windows only.
This all relies on the App running in the background, though. If someone hard-quits the App, the on-notification event won't run.
In my experience working with background mode is an absolute nightmare, especially since Android 8.
https://cordova.apache.org/ is probably the solution you are searching for.
It's like a container for your app, some misbehaviour can occur but it's the most straigthforward with the stack you already have.
Yes there are many user-made plugins too. I think this is tutorial for creating one: https://cordova.apache.org/docs/en/2.5.0/guide/plugin-development/. I am out of development with cordova and they changed a website a little so I am not sure. But you will need knowledge about native programing in specific mobile OS (Android, iOS) to create a custom plugin. Many plugins are on github so a little search is required to find them. Oh, I forget about Cordova plugin registry: https://cordova.apache.org/plugins/. You can search for pluigns there. Good luck!
Regarding the "native components" issue, this looks fairly <strong>covered by Cordova</strong>, but I could maybe see some issue with UI elements. But to address the native UI issue, what about ~~<strong>Ace</strong>~~ (looks like MS discontinued saying that Cordova itself provides sufficient "native components" now) or <strong>AppGyver Supersonic</strong> (or something else)?
I can't imagine the native bases aren't really covered well enough to negate this issue fairly thoroughly except for perhaps VR/AR components (ie, being in an early stage)...
That seems pretty arbitrary. Can you check if this happens because you are keeping some pointers to memory? Maybe look over your variables. Also check if the file size is different on another device where more or less memory may be available. I believe you can even set the available memory in the chrome developer tools. Also, your device may restrict the file size you are allowed to create in which case this code is irrelevant. You may have to change your App Manifest to get more space or change the destination where you're saving the file to. Large files should be written to an external storage location. There's a specification for that for both Android and iOS.
Edit: if you haven't done so before, maybe have a look at this documentation: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/index.html#create-a-persistent-file-
Sorry, I assumed that was auto-generated value.
To cover bases, have you followed: Apache - Cordova Android Platform Guide and not only have used the repo package?
I'm a hobbyist coder, learned a bit of swift, but then stumbled onto Cordova and realised everything I already knew how to do in JavaScript could be compiled into an iOS app, and that there were plugins that allowed you to access everything from the accelerometer to swipe commands to local or cloud storage that you could code in a language already at your fingertips. The learning curve is not trivial, but it's much shorter than mastering a new language. And it has the added benefit that you can compile iOS and Android apps from a common code base. Once I realised I could do everything I needed to do in JavaScript, I put Swift away for another day.
That said, Swift is the future if you're serious about iOS apps and nothing I say here should remotely suggest Cordova is a viable alternative at a pro level: it's not. But if your goal is simply to translate the app in your head to an app in the App Store, it's a great shortcut. I'm not going to retire on what I'm making, but it's rewarding to generate a little pin money, almost daily, from something I loved creating.
Edit: Apostrophe Error! Never trust a coder's advice that contains typos.
Others have made the case for java and they're not wrong, but I'd like to point to you that if you design your browser client accordingly, it can be quite easy to package it for a desktop use with projects like https://nwjs.io/ . And you can do the same to make an android client with https://cordova.apache.org/ . Therefor you could have all your codebase in Javascript.
I would avoid using the Webview Directly. cordova , Ionic or React Native is the way to go. Though in OPs case Just straight Cordova might be the best option as Ionic and React Native have a somewhat steep learning curve.
No, but that's a really good idea. My resources came from everywhere and I encountered a lot of issues that I just had to figure out on my own, so one blog that unifies all that information would probably really benefit people. It would probably really help me too, since when I was releasing this second app, I found myself having to relocate old resources I used. Maybe I'll create one when I have a bit more time.
But if you have any questions now or in the future, feel free to ask me.
I found the Cordova documentation to be pretty straightforward for just starting and setting up a basic app.
You might want to take a good look at <https://cordova.apache.org/docs/en/latest/platform_plugin_versioning_ref/index.html> – assuming you’re using a recent version of Cordova, most of this can be managed for you. Then, anyone who clones your repo only needs to worry about installing cordova, cloning your repo, and running any command that involves a prepare
step (like build
, etc.).
Take a look at Apache Cordova. It allows you to create native apps using HTML, CSS and JavaScript. You could then publish the app to various platforms.
I'm not sure how well it would handle games though.
And you will not be able to take advantage of some of Android's design features.
Apache's Cordova project, formerly known as PhoneGap, will do the work of embedding your web code into each device's embedded web browser control, and spit out a native app.
/u/huehang offers one good way to get started, but its only one of many ways to get started in app development. You may also consider learning HTML, CSS and Javascript, then using a framework like Apache Cordova to create your app. For some applications, like graphics-intensive games, this is not an ideal solution, and you'll need to write native code (Objective C for iOS, Java for Android) to get reasonable performance; however, for many applications that do simpler things, like access the camera or do simple CRUD, it is more than adequate.
This may be a better solution for a newer developer like yourself since you'll get iOS, Android and Windows Phone without having to learn three different languages/APIs, and also because you'll have a fungible skillset, and will be able to use your skills as a web dev in addition to being a mobile developer (though certainly learning Java is also a fungible skill).
Well, Apache Cordova's docs might be a good start.
You can also read up on the Native Webview. Maybe take one of the simple phonegap API's and try to re-create it using the @JavascriptInterface override within Android.
Just found this quora.com thread about alternatives to phonegap - Most of which I hadn't heard of, so it might be worth checking them out.
Or, give me a week and I'll have a blog post up about it :D.
Regardless, the important thing to remember with HTML5 Frameworks/bridges is that you're always adding at least one extra library, and layer, inbetween your html5 code and the native layer, so there will be a hit on performances and UX, this is especially noticeable if you use database heavy stuff, do a lot of UI updates, etc. because of the Asynchronous nature of HTML5 - so that always needs to be accounted and corrected for.
In all cases, the basic flow breaks down like this:
Html5 <---> Phonegap (or other library) <---> Native Layer Code
There are already a several projects/services to allow you to create one app and run it on a multitude of mobile platforms (including HTML5).
In Cordova (which is what Phonegap is using) I believe you build the app entirely in web technologies (HTML, JS, etc) and it supplies the glue/legwork to make it happen on the various platforms.
Have you considered doing mobile-first redesign, using HTML5 + Javascript? You can have multi-platform clients using WinRT on Windows and something like PhoneJS+Apache Cordova for the mobile part.
This is how I am implementing my native clients.
Pretty old question and i don't know if the asking person is still interested in an answer, but you could go for something like Cordova:
It makes an iOS or Android app out of html code, should work good with rpgmaker mz
There are lot of free courses online, in edX has many quality resources on this.. For instance this beginner course will take you through the basics of HTML, CSS and Javascript. Enough to get you started on your app development journey.
I am not sure what your target goal is, but you can take a html based solution all the way to the app store using something like Cordova - when the time comes for it.
This page mentions all Android API's available with Cordova:
https://cordova.apache.org/docs/en/5.1.1/cordova/plugins/pluginapis.html
I’d recommend cross platform, first because it’s cross platform obviously stops your from writing multiple of the same app, but also because the main benefits of native swift/Java is better access to native features like gyroscope which you won’t need for this app, better performance which again isn’t needed for this, and a lot of cross platform tools are designed to make developing an app as simple as possible while (IMO) native can be really tricky. I’d check out https://cordova.apache.org, or maybe even bubble.io and convert it to an app.
You’ll be able to keep all your business logic (hooks, redux etc) but the UI and routing will need to be written again from scratch.
If you already have a complete React app, you could just wrap it in Cordova, for the initial release, and work on your rewrite in the background.
Approval on app stores isn’t as hard as people like to make out, so long as you’re not trying to avoid paying Apple/google their 30% on in-app purchases, or making an app which can download new executable code (changing its functionality post-review). In 10 years, my only problems have been invalid screenshots on iOS (after the X was released) and privacy policy problems on Google (app aimed at kids, with camera functions).
Testing is a bit more time consuming as you need to push new versions to Apple/Google, and Google will review every update (Apple will only review some if your betas). There are ways of speeding this up a bit, as you can use code push to send small updates directly to the app.
Flutter
IMO I wouldn't bet on a proprietary solution such as Flutter and Dart.
Learning JS and adding it to your toolbox is definitely useful in the long run!
I'd suggest starting with "create-react-app" as a skeleton. You don't have to use React if you don't want to.
A PWA will let you "install" a web app and provide some level of app like functionality. But won't allow it to be installed from the stores.
Google is bringing out something like this with TWA (trusted web activity) which will allow you to package a web app in the play store.
AFAIK there isn't anything similar on the iOS side, so you'd need to look into the wrapper type systems, eg Cordova or even a React Native webview wrapper.
Although scaling isn't only a factor of programming languages and database, following are some of my suggestions.
Programming Language - Use a functional programming language. Erlang, in particular, can scale very well and I have been in projects where we have supported more than a 1M transactions/sec using Erlang VMs. FYI - Whatsapp is written in Erlang. If you are from a Java backgound, Go could be a good choice as well.
Databases - Since you are trying to build a social media app, I can assume the following key entities
3.Frontend - Depends on whether you are looking for a mobile or web based frontend. Would recommend evaluating Apache Cordova. It enables building mobile apps with HTML, CSS, JS. https://cordova.apache.org
There's Apache Cordova (https://cordova.apache.org/) but I personnally don't recommend it. But it's up to you, give it a try !
I will give you the possibility to build your app for Android/iOS and to deploy it as a webApp from a single codeBase made of HTML/CSS/JS.
There's also something called "Ionic", but I haven't tried it out.
From the article:
>Q. What will happen to existing mobile app content developed with PhoneGap?
>
>The project (mobile app content) created by PhoneGap is compatible with Apache Cordova. Please refer to the getting started guide for setting Cordova up on your development machine.
Cordova isn't going away (yet, at least not due to this change); Adobe just isn't contributing to funding the project anymore.
Check this page for info: https://cordova.apache.org/howto/2020/03/18/wkwebviewonly.html
Paste your plugin list cordova plugin list
This warning happens when one of your plugins use uiwebview. You need to contact the plugin author or install a fork.
Also, try to remove platform and add again.
To be a pro🔥🔥🥵 app📱🛠️maker🛠️ you have to use the greatest 😤 language JabbaScripts📃📃📃, after you know Jabba Scripters 🤯🧠🤯 you must learn the best app📱maker🛠️ tool called Cordova, that's what reall 💯💯💯 pr⭕ app makers use, not 🙅♀️Flutter🙅♂️ React🙅 Native, only dumb🥴Bois use those. Slap updoot if you agree💯😤🍆🍆💦💦🥵🔥👋
I don't play MiniDayZ but was just passing through :)
MiniDayZ was developed using Construct which is a game engine based on web technology (HTML/CSS, javascript). They've ported to mobile using Cordova (it's a wrapper that runs web apps natively on mobile). The weird icon is the Apache Cordova logo.
I know I’m late to this but dudeeee
If you want to build something for mobile but only know web development you have all the tools you need! Just make your website then port the site through Cordova! It’ll make your website into a fully working mobile app! Even cooler is that it had a simple JS API that lets you communicate in a deeper level with the phone(if you choose to do so) which makes it easier to set up in app purchases. Force landscape/portrait mode and much more!
It’s developed by Apache!
Until Safari push notifications is available on iOS, you could use this as an excuse to the reviewers to publish your PWA to the App Store.
That is, use Cordova to wrap your PWA and use its plugins to register and handle push notifications.
you can build an app using your background in web dev. https://cordova.apache.org/
or you can build a native app in android studio which would be better if you have some Java experience.
https://developer.android.com/studio
Good luck building your first app.
Minus all the PHP parts, you can pretty easily translate a JS/HTML web app into a wrapped native webview using Apache Cordova. I did this recently and it required very minimal changes to my browser app.
React Native you will have to rewrite all the JSX.
Your best choice for mobile apps is to go native using Xcode or Android Studio. For performance, access to device capabilities like cameras, accelerometers, etc it's just going to be more straight forward. That doesn't mean you can't create a SPA app and run it natively on a phone though. You're best bet is to use a framework like Vue, React, or Angular to build your app as a SPA and then use something like Apache Cordova or Phonegap or others to assemble the SPA into a package for a specific platform such as Android or iPhone.
Another limitation of using SPA for mobile is newer tech and features in phones may be limited or inaccessible, non-native approaches are usually a bit behind. I've had an idea for an AR game for a couple of years now, but AR at the time I conceived the idea was only available on a couple of phones and not directly accessible without using Android Studio. I played around with the capabilities and even that was limited at the time. Now most phones can support AR but I just don't have the time to deal with the learning curve.
You cannot run Electron on Android but you can use your application code with the Cordova wrapper https://cordova.apache.org/. In most of the cases the application should remain the same, just packaging changes.
It's at least a way of getting it onto a phone for testing purposes. May be all you need. It's fairly easy to do. I've used Cordova before and the results seemed pretty good. https://cordova.apache.org
You can use Cordova for what you want. It's a little tricky to se up, and has its limitations compared to native java for app development, but it is a tool to design and deploy apps written in js, html, and css.
Link to their docs is here: https://cordova.apache.org/docs/en/latest/guide/overview/index.html
I think you are looking for a WebView approach here, Cordova would mostly suit your needs. You will need a mac to build it for iOS and macOS.
For File URI : Use Native HTTP's upload file function to transfer files. I won't recommend File Transfer since it's deprecated for over 2 years.
For Base64: Use POST request. Make sure to convert the file properly on backend. The DATA
_URL has data:image/png;base64,
before the actual Base64 string. You will need to strip it either in app or back-end script.
If it's a web app with HTML+CSS+JS (no framework), I would consider Cordova. Install it, create an app, put your code in the "www" folder, build, and test.
How far along are you in the set up of the mobile development environment?
React and React Native OR Cordova are sort of the new hotness for developing web apps that also can be deployed as native apps. IndexedDB is missing (except Cordova on Android/Web).
Hopefully he means PHP for the backend API.. Then you can build the front end in HTML/JS and package with something like Cordova.
I think that's about the closest he can get, right?
Perhaps you already know, but you should to be able to push the web app to the play/app store by bundling it with Cordova which essentially encapsulates your webpage in a native app shell. Only problem with iOS is you still need a machine capable of running XCode to produce an application package that Apple will accept.
https://cordova.apache.org/
If you're using the Cordova InAppBrowser, see here. Add an event listener for the "exit" event: "exit event fires when the InAppBrowser window is closed."
Hey, I am a hybrid developer and I am looking for a plugin for cordova which does exactly what your library does. If you have extra time, can you make a cordova plugin? I will help in testing and publishing to npm and can help with the xml or JavaScript.
I don't know java or kotlin so I cannot do it myself. Here is the link to official cordova plugin guide https://cordova.apache.org/docs/en/latest/guide/hybrid/plugins/
If you can write the java part and put it in the repo, i can do the rest of the stuff and publish it in your name.
Thanks.
Ionic is built on top of cordova. You can create cordova apps without using ionic. These apps are not called native as they use a webview as the ui, not the built-in native components.
You can also check react native for a better performance.
You could just use Cordova and build it for both.
https://cordova.apache.org/
Depending on complexity, there may be native features that won't work, but for most apps this is fine.
The icon is the Apache Cordova icon, which is what they must have been using to make the app. Someone must have forgot to update that specific icon to a branded version.
I was able to get something simple up an running using Cordova and https://github.com/don/cordova-plugin-ble-central.
It will require getting an Apple developer membership.
I will put some other options out there. I love Python, but honestly it's not great for making games. Yes, it can be done but for whatever reason the Python tools for making games just aren't that great.
Build a 'hybrid' app using HTML5 and package it as a phone app. This uses web technologies such as HTML, CSS, and Javascript to build a web app, and then tooling such as Cordova or Capacitor to package it for distribution on the app store. This is a very good option, there are many mobile companies making apps this way and the tools are solid. Learning Javascript and HTML will be very useful if you already know C++ and Python and ever want to get into web development.
LibGDX with Java or Kotlin. If you already know C++ and Python then you should be able to pick either of these languages up quite fast. LibGDX is a cross-platform game framework and I think it's better for making games than something like Kivy, but it's still quite low level.
Unity with C#. If you are serious about making games then Unity is an obvious choice. This is a heavy-duty framework that is used in many big-budget games, but is also free. However, a lot of Unity development tends to be done in the Unity UI, and not by writing code. If this is for a school CS project, I don't think it would be a good choice.
Ionic is based on Cordova. My last intel is that Cordova has issues on iOS because of the last major update. Check the limitations in this blog post: https://cordova.apache.org/news/2018/08/01/future-cordova-ios-webview.html
I would rather recommend React Native, Nativescript or Xamarin Forms.