Laravel is a free, open-source PHP framework for “web artisans”.
Laravel powers countless sites, web apps and enterprise systems across the internet, and is well known for being a logical and solid framework that lets you harness the entire power of PHP once you know what you’re doing.
You can make anything from small lightweight projects to huge complex systems using the framework.
Maybe your Laravel web app has thousands of visitors, signups and happy users. It’s a crowded web though, and you need to do everything you can to keep growing and stay one step ahead of your competitors. Perhaps users are asking for a mobile app. Or you know you need one by looking at your engagement and retention metrics.
Building iOS and Android apps can bring you a lot of benefits that your Laravel web app alone cannot, like:
- An opportunity to be found on people’s home screen and become one of the apps they use habitually
- A constant reminder of your offer and your brand, giving users more opportunities to use your service
- More engaged, more loyal users that come back more often compared to web users
- A smoother, familiar user experience – compared to remembering about a service, accessing the browser and typing in a URL
- Push notifications, the most effective way to reach your fans, with up to 90% open rates.
- Visibility on the app stores, to be found when people look for software solutions from their phones
Let’s move on now from the why to the how – and take a look at the best ways to convert your Laravel app to mobile apps.
The Big Picture of Converting a Laravel App to Mobile Apps
Let’s say that you’ve built a cool web app using Laravel. It works great in browsers on desktop and mobile. How can you translate it into iOS and Android apps?
Unfortunately there is no magic button that allows you to just turn your Laravel app immediately into native apps that run on mobile operating systems.
Web technologies just work differently from those that power mobile applications. When creating a web app, you don’t have to deal with the nitty-gritty details of how the pages are going to be rendered on to the screen, or how exactly to detect user input.
These things are taken care of by the browser itself, leaving you free to focus on the higher-level functions of your app. The code you used to build your web app can’t just be “reused”.
This gives you essentially two options: Rebuild and Repackage.
Option 1: Rebuild as a Native App
This is the most technically and financially challenging option.
Firstly, you’ll need to build an API from your Laravel app to use it as a ‘back end’. You won’t be able to use your existing codebase to create the front end of your mobile apps, so you will have to rebuild the features and functionalities of your existing web app for the iOS and Android platforms.
It’s the best way to build native mobile apps – but will require skilled mobile developers and several months to get a first version ready to launch. It may or may not be worth it depending on your goals – and it might not even be necessary.
There are a few different options when it comes to rebuilding which we will cover in the next section.
Option 2: Repackage as a Hybrid App with Canvas
If your Laravel web app works well on a mobile browser now, there’s no reason it can’t just as well as a mobile app.
By repackaging your existing web app within a ‘webview’ based app, or wrapper – you can achieve just that. A wrapper is like a dedicated browser for your web app that can be installed on users phones and published on Google Play and the App Store just like any other app.
It is your Laravel app functioning as native mobile apps from the perspective of the user. The best thing about repackaging your app in a webview is that you can get to market fast for 10% of the standard cost.
Our platform, Canvas, is the ultimate wrapper. It’s ideal if you want to repackage your web app into mobile apps. It’s more than a simple webview, we added all the native features you need to give a smooth user experience and achieve your mobile goals – and we provide everything as a service.
We’ll go into more detail later. Let’s move on now and look at the pros and cons of “rebuilding”.
How to Rebuild Your Laravel App as a Native Mobile App
Recreating the features and functionality of your Laravel web app for native mobile operating systems is a pretty challenging process. Essentially, you’re building the apps from scratch, using your Laravel web app as a backend, and linking the two up. What technologies would you use to achieve this?
You could build or hire a team of developers to create iOS and Android apps from scratch. The iOS developers will work with Swift or Objective-C, while the Android team works with Java or Kotlin. You can also look at React Native or Flutter for a cross-platform approach which will save time and costs, by eliminating the duplication of effort and code that traditional app development requires.
This will be a very technically challenging project, and will likely take a couple of full time developers several months to complete. You’re looking at over $100,000 to get first versions ready for both platforms.
The advantage of this route is that you will have total control over the app’s functionality, native apps can be faster and more intuitive to use than alternatives and can access device features like sensors or cameras better than alternatives.
You should ask yourself if this is necessary for you though. Does your app really need to harness the device’s accelerometer, and GPS system? Are the benefits worth tens of thousands of dollars and months of work? Only you know the answer to that.
You’ll still need to build an API for your hybrid app, but you save time building the frontend by writing code once for iOS and Android, making initial development faster and maintenance much less complex, potentially sacrificing the performance and user experience that a fully native app may provide.
The Bottom Line on Rebuilding
Rebuilding your apps natively can result in great, feature rich apps – there’s no doubt about that.
The problem is the huge investment in time and money required for something that might not even be necessary for you.
You’re looking at low six figures to get first versions out on iOS and Android, and optimistically 6-10 months of development.
The work will never really be finished either, with routine updates and maintenance costing you 10-20% of the initial cost annually.
If you need the features that only native apps can deliver then look into hiring mobile developers, an app agency, or building your own team. If not, then consider the repackage methods we’re going to look at next.
Let’s move on to the repackage methods, which are more efficient for most cases.
Repackage Your Laravel Web App to Mobile Apps
A wrapper app is essentially like a dedicated browser for your existing app that can be installed on the user’s phone and published on the App Stores.
It is your existing app, deployed as a mobile app.
You will save tens of thousands of dollars, and you can get apps ready to launch in days rather than months because there is nothing to rebuild or recreate.
There’s still only one codebase to manage and there’s no worrying about whether your web app and mobile apps are properly “synced”. You can focus on improvements to your core web presence, and the mobile apps will take care of themselves.
If your Laravel web app works well on mobile right now – it can also work well as a mobile app. The logic, features and flow will be preserved, and in most cases there is no need to add anything crazy that can only be achieved with a custom built native app.
There’s a problem though. If you cut corners and build a bad wrapper app the user experience will be poor, it’ll be slow, and users will be able to tell that you took a shortcut. The App Stores will probably reject it too, especially Apple who state clearly that:
Your app should include features, content, and UI that elevate it beyond a repackaged website.
Back in 2016 we started looking for an effective wrapper solution and we couldn’t find anything that met our needs, which were:
- Chrome and Safari are generally ahead of iOS and Android’s webviews in terms of performance and functionality, the standard webview element therefore needs to be carefully configured to optimize performance and features will need to be built to be able to handle link clicks and navigation as expected
- It should allow ongoing updates to the configuration without requiring an update of the app in the stores
- It should provide at least some native navigation features, to make sure the app feels intuitive to mobile users accustomed to native apps, and to satisfy Apple’s requirements
- It needs to integrate with a push notifications service and provide user settings for notifications
- It should integrate analytics and crash logging features, to ensure stable and fast operation
- It should give users visual clues when the web app is loading, both on start and on subsequent page loads – a user will think something is broken if they’re left staring at a white screen for seconds
- It should be constantly kept up to date with the latest SDK updates to make sure it runs stable on all versions of Android and iOS and continues being compatible with the analytics and other services the app integrates
We didn’t find anything on the market that did everything above, so we built this solution for our own customers. We called it Canvas, and to date we’ve published hundreds of apps through the platform.
Let’s look at Canvas in a little more detail.
Convert your Laravel Web App to Mobile Apps with MobiLoud Canvas
Canvas is a platform for converting any web app, including Laravel, into winning iOS and Android apps.
We took the webview concept and refined it over several years, adding native features to make up for the typical limitations of this approach.
If your Laravel app is fast on the mobile web, your mobile apps can be fast too. Canvas uses resource caching and the latest webview elements to make sure this is the case.
We built everything into Canvas to ensure an optimal user experience and make sure that the App Store guidelines are met.
Let’s take a look at a few of the reasons why you should choose Canvas to convert your Laravel app.
It’s done for you
This is perhaps the biggest difference between our approach and cheap templates you might find. We take great care of each customer signing up with us, completely configure their app and test it extensively before the apps are submitted. We guarantee the approval of your app and your full satisfaction, or your money back. Our work doesn’t end here, we keep your app updated as needed and provide ongoing technical support for anything you might need – it’s like having our whole team of app developers working for you.
Native User Experience
All Canvas apps have a configurable native tab menu and native navigation to give users a better, familiar experience that makes moving around your app easy.
Native loading indicators and splash screens also help with this, never leaving the user wondering if your app is working or not, as was often the case with other wrappers
Canvas gives you the ability to send out push notifications to your users on both iOS and Android whenever you like with whatever content you like.
Your users will also have a message center and push preferences which improves their experience and the effectiveness of the channel.
We integrate with Onesignal, offering an easy to use web dashboard to send messages to app users. You can also use their excellent REST API to make mobile notifications part of your web application.
You’ll have a lot of control to customize the appearance of your apps and by setting up the menus how you see fit.
Splash screens and all graphic elements including icons are also customized for you.
Control it remotely
All this can be set up easily through our simple configuration dashboard with no coding required.
Why Build Laravel Mobile Apps with Canvas?
Converting your Laravel web app to mobile apps with Canvas gives you the best of both worlds.
You get the major benefits of native apps while saving months of toil and 90% of the financial investment. If you signed up for Canvas today, you could be ready to launch to the App Store and Google Play in under two weeks.
You can get the app project ticked off fast and concentrate your energy and resources on building a great web app, knowing your mobile app users will benefit too. The concept has been proven with a multitude of customers in different industries with different tech stacks, including Laravel. Apps work – and Canvas is the fastest and most affordable way to develop them.
The only reason it would not make sense to go with Canvas is if you want to develop mobile apps that are radically different to your Laravel apps and need to make use of specific device features – so you really need a native mobile app. The straight up conversion process works great for 90% of cases, and given the opportunity cost of rebuilding is the logical choice for most small/medium businesses.
Wrapping your existing web app actually puts you in quite illustrious company.
Many major brands and organisations have done something similar for their own apps.
According to UX Matters:
“We know that Facebook, Evernote, Instagram, LinkedIn, Uber, Slack, Twitter, Gmail, the Amazon Appstore, and many others are or have been WebView apps. Quora is a WebView app of some sort, with a few clearly native components along the edges”
These huge brands have multimillion dollar budgets and to say that they have a lot of technical talent is an understatement, they didn’t choose to build hybrid apps for lack of either. If wrapper apps worked well for them, there’s no reason they can’t work well for your business too.
A Complete Service
Canvas is more than a tool, it’s a service.
We kick everything off with a consultation and go over your goals and vision for the apps and explain the whole process to you. Then you have the option to use our configuration tool yourself to build your apps, or you can just have our team do it for you.
Either way, you’ll have a lot of opportunity to test the apps on your own device and make any necessary changes or customizations.
When everything is ready, we’ll take over and prepare your apps for publishing on iOS and Google Play. We handle the process entirely and extensively test your apps prior to submission, so we guarantee they will be approved (or we’ll refund you).
After the apps are launched it’s time to celebrate. But our support doesn’t end there. As part of our service we handle all ongoing updates and maintenance, all included in the simple, monthly fees you pay for license and support – so there’s no need to worry about the expensive surprises that crop up all too often with native app development.
You’ll manage the apps through our simple dashboard, and we’ll always be only an email away if you need anything. The iOS and Android apps will be 100% synced with your Laravel apps, so there’s nothing to really add to your workflow – it couldn’t be more simple.
Hopefully, this article has been informative and you’re ready to learn more about Canvas and get your apps launched on App Store and Google Play, in under two weeks from now!
As you already have a great product out there on the web – Canvas really is the best choice to build great mobile apps to take your whole business to the next level.
One of our app experts can explain the ins and outs of the process, and answer any queries you have. Start converting your Laravel app to mobile apps today – book a call with one of our team!