I want to use Wappler as my starting tool for what is destined to be an iOS app, going through the Apple Developer application process for approval and inclusion in the App store.
So, the claims of Capacitor have me confused when I read this in the Wappler docs -
But unlike more traditional native apps, Capacitor apps will likely have the bulk of the app running in an embedded WebView control that unlocks desired cross-platform benefits and efficiencies.
My understanding is that making the app DEPENDENT on running on what is essentially an embedded browser, is NOT up to Apple Store specs.
How are fully compliant Native iOS apps for iPhones and iPads built using Wappler?
Is Capacitor really a Native iOS app transformation of Wappler code (Framework 7 + App Connect or Bootstrap 5 + App Connect) that meets App Store requirements?
As I understand it, Apple are likely to reject apps that are clearly just wrapped websites. All apps should have an ‘app-like’ experience. Capacitor assists with this by exposing many of the native functions (camera, bluetooth, push notifications, calendar integration, biometrics etc.) to your wrapped ‘web page’ that often aren’t accessibly in Safari or other browser. The pages you use, though, should also be designed to give that app-like experience in terms of UI and UX, irrespective of whether or not you choose to use the native parts that Capacitor exposes.
Capacitor also helps take the hassle out of building the necessary project files to produce the app in Xcode ready for submission - especially with Wappler doing much of the heavy lifting!
I have not seen a single video or Wappler docs tutorial on a Developer actually using Wappler, say, for what will be an iOS app.
For instance, now focusing on using components that would only apply or be available for an App destined for an iPad vs an iPhone, etc.
How to enable an offline capability: saving a filled-out forms fields data on the iOS device and then synching that data to a remote database when the user is back online.
The flow construct for App connect, best practice, to have the app save each form submit to a live remote database and yet smoothly handle an offline mode where the form can still be used, submitting, storing successive submissions.
Allowing the user to review and edit these entries before synching online.
Issues like this as handled in the iOS Native components while using Wappler.
A whole series of videos that get into the nitty gritty of how Wappler will be used when you are not developing for node.js but for iOS.
If these in-depth Wappler Project for an iOS app videos exist I haven’t found them.
Dont mix the topics here
Let me answer from the view of an app developer with about 20 years of experience in this LOL (we had apps before iOS and Android, surprise)
Capacitor is a runtime to deliver an native app experience using web technologies. Capacitor (and Cordova) are also called wrappers from time to time, but just ignore that for now.
HTML5 Apps running in Capacitor are fully compliant.
Yes, if the apps are purely exist to wrap a website.
But: If the embededded content provides a “app” feeling, they will accept it (but this depends also on the industry and if the wrapper is a extreme like a WP aggregator, they got removed)
I have some wrapped apps (based on PWAs) live in the stores, very bare minimum food order forms and such. No complains.
Nope. They are compliant (okay, with very few exceptions, based on the industry)
Yes. It is fully compliant to Apple Store Requirements, specifically paragraph 4.7ff.
No. Apple doesn’t care about the quality of the product at the end. If the product is to buggy while in review, that’s likely to get rejected. See two examples below the post.
(for example, almost 90% of all Flutter apps are using Googles Material Design and not the “Cuppertino” Widgets.
BS is a mobile first framework for websites. It doesn’t know about app routing, device toast messages (recently added), native calendar pickers, that’s where Ionic, Onsen or F7 chime in. Also, if you create an app with one of those, they will look “native” on Android or iOS without you changing a single line of code.
The app will feel like a stock app from Apple or Google, with all the litte animations and experiences.
Here’s an example from an App I did with Ionic (live on Apple and Google): you can see that the apps look slightely different on iOS and Android following their guidelines.
It is very important to understand that app development is a separate topic on its own, it’s a complete different user experience, the journeys are different over web, the customer expectation is different, the customer acceptance is different, mobile users are less patient.
Don’t get confused because its a feature of Wappler, it means that you need to know how to write a client application and not just a website. The techstack is the same, but that’s all.
William Shakespeare and Metallica both use the same tools (paper and pen) and language (english) for their body of work, but it’s not the same.
Thank you again @HeikoK for assisting us in understanding these concepts from a real life Developer’s long experience.
However, we end at the same place that my previous questions wind up, year after year.
As usual, the Reason for raising the topics is because these “discussions” always end up with sage advice to go look at other sources outside of Wappler to learn how these mobile apps are constructed.
Again and again it is in the Forum, through thread after thread, that we piece together over time, more differences, comparisons, assurances in GENERALITIES about what can be done, not done, etc.
I am always left wishing that Wappler had extensive documentation specifically “In this video/tutorial we will make an iOS App using Framework 7 with the latest App Connect and updated plugins of Wappler 5.7.0 Beta to create an app that uses these iOS Phone and iPad Native components …” or some such verbiage.
For instance, this …
I was planning to use F7, but moved later to BS with custom CSS and utilizing the Offcanvas for the menu.
There you go, a chance comment that leaves me with more questions. I would not know about this topic unless someone more experienced explained their design and framework choices because of this and that consideration.
If someone said to me
“How about this Wappler that you subscribe to, I want to make some Apple and Android aps. Where do I see the whole process? You know, demonstrations of using Wappler to make a complete app that does so & so from start to finish?”
I would point them to some of the Docs I have looked at, but as to real life examples, say, choosing to go with Framework 7 instead of Bootstrap 5 utilizing some of the core components that specifically target features of an Android or iOS App there are no examples I know of.
And then another step-by-step video using Bootstrap 5 and how some of the components must be changed or left out because it is Bootstrap and the app targets Android. Whatever . .
These kind of videos prominently featured and promoted in their own section would be much more likely to attract subscriptions to Wappler.
Wappler makes claims for the ease of using this low code, visual approach tool to make Mobile Apps but is curiously thin on demonstrating Android and iOS mobile device apps creation to potential users who drop by to investigate its special powers.
Is there a developer using Wappler who will make these Android and Apple App videos? If Wappler will not commission these I will pay to subscribe to Step-by-Step Instructional videos that finally take Wappler to its fullest powers.
That’s the nature of a product forum. We’re discussing most of the time HOW things could be done with this specific product, but, as this is a product forum, there’s of course no recommendation for other solutions. There will be always a “yes, you might be able to do something similar, but…”
But stay with me, I’ll break that rule later (and might get banned ).
So, here’s my advice: DON’T USE WAPPLER FOR THAT!
It will work when you know Wappler in and out. But learning Wappler AND understanding the pitfalls of the product AND struggeling with outdated documentation AND keeping track with the awesome fast pace of releases, AND also learning frameworks AND going mobile, you’re proned to fail.
Sorry for beeing so blunt here.
To be crystal clear: I personally do not use Wappler for mobile projects, not even mobile websites.
I wanted to create prototypes/PoC and MVP, that’s why I ended here on the product. From my background (Ionic/React user at this time and backend developer using Java and PHP), Wappler wasn’t simply a fit for me.
Wappler is great, no, a phantastic, product for bespoke commercial applications - and from what I can see here on the forums, most of the users are using Wappler exact for this use case. And I get that, I was a heavy Filemaker Pro user in the past, FoxPro, PowerBuilder and the like.
But as soon as it gets customer facing, the value proposition of the “low code” tool Wappler goes down to zero: it’s something between the ancient Dreamweaver and VS Code and you spend more time in the code view than in the “graphical editor”.
However, for me, the server connect is a nice and great addition to my toolbelt, and I decided to give it a go, as an option to my typical Firebase backend and storage quick and dirty / run&gun projects. And one of my smaller startup projects even uses Wappler w. Bootstrap for the desktop frontend.
The consumer world is mobile. Globally, the internet traffic is over 56% on mobile, with an forecasted Y2Y increment of 4%. Certain industries are even over 87% (e.g. E-Commerce, Entertainment, Education, Banking, Social Media, all sources: statista), and to add a very important point: the internet traffic is on apps, not mobile web browsers: 90% app traffic vs. 10% mobile web, source: Forbes & statista.
If you would ask me directly, I would not recommend Wappler for an app. You can do something decent, but the overall effort over the outcome is not worth it.
And to sum it up, here’s my current (no- to low code) tech stack for PoC, MVP and even Phase 2: (Wappler fans, please don’t kill me):
FlutterFlow for apps. I’ve built three apps in four months, number 4 and 5 are in the making. Great documentation, incredible visibilty on YT, but crap support and even worse community. Yes, it’s on the cloud, but you can work locally (as I do)
Firebase for most of my PoC/MVP apps: storage, database (NoSQL/Document), crash analytics… (and it is fully integrated in FlutterFlow)
rowy, as a user facing (low code-) backend for my mobile projects (it’s like Airtable, but for Firebase)
Wappler (yes!) for API development and backend work that doesn’t fit into anything above, and a bit of deskop web
What you are saying is the conclusion I have been coming to for a while now.
And the forum is the place to nudge and irritate at times to ask for more thorough documentation that so many other tools sites are doing a great job at.
It is precisely because the dominant traffic has moved to Android & Apple apps, for some years now, that I keep questioning why Wappler was not putting its strongest focus on this arena through thorough, inspiring documentation.
I appreciate your honesty. it is as I have suspected.
Hi Anthony, sorry for the late reply. This “working” can ruin a week
To give an simple answer, without knowing the project and how it is architected, but given the fact that you’re a experienced Wappler user: just stick with Wappler.
Draft out a user experience you might be able to deliver with BS and job done. Look for one of the nice pure CSS TabBars you can find on the internet and check how the Offcanvas works (it’s supported by Wappler) and your app might look like one of my examples above. Don’t go further. Dont try to add more little CSS animations, dont try to fiddle around with tweaking the existing code, draw a clear line!
The app will be functional, and will look good. Not as exciting as perhaps a Framework7 app will look (or Onsen, Ionic, Sencha… or Flutter, Xamarin), with all the animations and micro experiences that makes a mobile app, but it will be decent, given that you already have extensive knowledge of Wappler.
But if ( with a big “if”) this mobile experience is desired, all this page transitions, animated tab bars, reactive list views and moving headers, small moving icons, the stuff that makes an app exciting and give the user a little smile while using it, then consider reworking your backend to a stand alone API and start looking into a pure app framework.
My recomendation is either FlutterFlow for no-/low-coder or Ionic Framework with Capacitor for People who know to code TypeScript and React. Both recommendations are massively covered on the Internet.
And (also for all others, who are seriously interested into mobile dev - no matter what Framework):
Learn how to build and deploy native apps with Capacitor (Ionics documention on Capacitor is quite good) and start with building a very simple Hello World programm. Understand the role of Xcode and Android Studio in this process.
Sign up for an Apple Developer Account and Google Play (125 USD in total per year) and learn how AppStore Connect, TestFlight, Google Trusted Testers and Firebase Crashlytics and -App Distribution works. Preferably in this order.
Buy a decent iPhone, a weak iPhone (iPhone SE or an older iPhone 8 or X), get also two Android phones (cheap ones, or used Samsungs S10 or the like) and, if required, an iPad and Android Tablet. Test your app on all devices. Don’t risk poor performance on weak devices. If you don’t have tested your app on a device category, then don’t publish the app for this category, don’t trust “it will work”.
Assuming you have a Mac. If not, get one. You can use a remote build service, but this makes practical developing and testing for iOS not easier. No, to be honest: it is a nightmare. Or descope iOS. It’s on you. I wouldn’t.
If you don’t want to buy in into this, don’t expect to deliver a great experience.
If you accept that you might not be able to deliver a great experience: fine.
But then expect customers / users complaining. Public visible on the App Store or Google Play. Been there. Ah, and btw.: you can’t just delete negative reviews. If you do to often, you get banned from the stores. Life time. Seen that.
Understand that trust is important.
The user downloads a piece of software on his mobile phone. This device most likely contains the most important data of his life, contacts, images from his family, banking and social media.
Deliver a great and smooth experience, so the user feels safe that you are not doing dodgy things on his device (the user doesn’t know that the apps are safeguarded and run in sandboxes)
I was just told about a request to an app team that provides Android & Apple applications.
The team, to submit their proposal on Monday, says YES they can provide a new Android & Apple app that can be used on smartphones & iPads that will, past authorization, gather user data from a form, store it locally, synch to an online database when wifi internet is available. Fine & dandy.
*However, the bid requestor company wants to also on their own work computers, be supplied with an Inhouse Admin Application to be able to Edit the forms, build new forms with different inputs in type and fields total for new client projects, besides making text and image changes, then Save and have the modifications (done by an office employee) then “uploaded” to the other smartphone & iPads out in the field wherever.
So the requestor company is expecting to be able to install this custom Admin App program so that Adding, Customizing, Creating New Apps for other clients will be pushed out to all devices – “automatically” once the Officer worker “makes changes”.
I was skeptical that a system like this could be installed on a work computer, even a Mac, as a Stand Alone App creator that automatically cranks out Android & Apple App store updates without more technical intervention & coding assistance from a 3rd party like this App development team.
I have Xcode, Swift UI & am learning the iOS native app side. So far, I don’t see this as feasible. Can you comment on my ignorance?
Don’t think they could have separate apps in the app store each would have to go through approval.
Reading that they just want build / customise forms from within a webapp. When you first login to the mobile app or sync it would then just pull the info needed for these forms along with fields etc from the web app… into local storage on the mobile app. This is what I did with my mobile app using wappler.