We all know the stories of great companies that started in a garage or a small space and then became multi-million dollar brands.
Most of the great inventions were born in places where the developer (s) can unleash their creativity, from a garage, a park bench or even a bathroom like Doc Brown and his flux capacitor
Nowadays, computers are very powerful, even those for civil use, everyone is a consumer of content but many have also become producers, which leads to the term prosumer (producer + consumer). From YouTube channels, games, blogs to complex programs like Facebook and so on.
Every day there are new and better tools that encourage people to be a prosumer. Now, are these tools powerful enough to create tech monsters that move fortunes around the world?
Returning to Wappler, our beloved modern garage, with powerful tools like PHP, NodeJs, Server Connect, App Connect, etc. is it powerful enough to be able to create a project that can then scale from a simple webapp to a robust application with millions of users? Or is it limited by its own technology and way of working to small and medium projects that, if successful, should be re-done from scratch? Is it just a matter of finding servers with more capacity?
I agree with Jon. Wappler is only limited to the servers & databases and how optimised you can keep them.
We’ve built a high concurrency application on Wappler which has been in prod for over a year now. works well. recently, upgraded the servers as usage increased by much!
It has limits but we are not going to hit them anytime soon I believe. Those limits are set by the supporting apps and backends.
Therefore the cost of the infrastructure needed to overcome those limitations would be incredibly high.
If you were planning on cloning the big apps that have the biggest traffic on the internet you wouldn’t be able to do it just with Wappler. There is no one single backend that excels in every single aspect.
The biggest apps are a huge mix of backends built specifically to excel in a single thing. And the sum of them make these apps.
TL;DR. You can’t build google search engine with wappler. Not now. Probably never. But you can build other cool stuff
If your app is a big SaaS, you will want to pay attention to what work you have done in the database, on the PHP/node server, or on the client side - the user’s computer.
Best to keep it on the database/server side, then you can control it with more hosting services… there is a danger of overrunning the client’s resources, and you need to learn which Wappler structures are more likely to do that.
As @Antony said, careful planning about how you actually build is wise if you expect it to grow big but Wappler can pretty much handle anything (within reason as @JonL said).
Oh yeah! One thing wappler doesn’t do right now is allow to connect to a DB dynamically - to facilitate a multi tenant, multi domain web app.
Or maybe we haven’t figured this out yet!
Having spent more than two decades as a tech entrepreneur and having built from simple solutions to large scale beasts that control billions of supply chain records. I have built in almost every known framework starting with Coldfusion and then all the way through to the modern libraries like React/Angular/Vue.
I now am a partner (co-founder) of a VC fund (SaaS portfolio) and one of the things we do is help the idea stage startups fund and develop their prototypes and MVPs. The faster these get build the faster we can get them grants or investment. Wappler fits in perfectly with this and we are gearing up to make the shift to it as our main tool of choice. Why?
First let me explain the industry standard way of doing it. Concept. Architecture planning. Wireframes. Develop the backend. Develop the frontend. OOPS the two don't match up. Rebuild the backend. Frontend... OOPS the cycle repeats until the startup runs out of runway and we come in to fix it.
A better way:
Any great CTO knows that the fastest why to develop is to do it backwards. You start with the visuals (obviously after all stuff like functionality vs marketable functionality, user flows etc). Traditionally this will be done in Sketch, Marvel or Adobe XD. All you have is pretty pictures strung together. Swap them out with Wappler and you are building a workable front end. Plus all of a sudden your UX/UI person becomes a JNR developer and you only need an architect and SNR dev to auto correct here and there.
That is great for a prototype, what about scaling and commercial applications.
Let's look at extending Wappler. Using the extensions area you can build your own extensions. For example we have developed our own set that allows us to use MongoDB without coding.
Scalability.
This is all down to understanding best practices and when to move to the next step. Using the NodeJS server side instead of PHP/.NET. Startup Industry standards etc.
You start your MVP with Wappler with everything on one server.
You grow some:
Split your database into a separate server or a managed solution (in our case we use MongoDB Atlas).
You grow some more and more (I am going to skip to final step):
You split what you have built onto the following:
To do this split in Wappler is as easy as putting the front end on a load balanced EC2 cluster and call the Wappler backend (API) via another load balanced EC2 cluster. The database is already vastly scalable. <-- this can all be done in under two days by an experienced Dev Ops engineer. Updating API endpoint access in the front end is as easy as firing up VC code and running a regex to update.
So the big question is Wappler a garage? Yes. It is like Tesla's development garage that can deliver from a $30k family car to supercars that do 0-60 in 2 seconds and Trucks that are fully autonomous. Never mind throwing Space X into the equation.
A couple of other points:
A front end React developer losses on average 20 mins out of every hour due to the compiler. Wappler you see the front end changes in real time, no compiler losses.
If you use React, Angular or Vue you either need a Fullstack engineer (expensive and hard to find) or a front end developer and a backend developer. A junior can build an amazing app in Wappler.
Wappler is much lighter and has a smaller foot print than all the others especially now you don't need jquery anymore.
Wappler has almost no memory leaks compared to the others hence all the extensive testing required.
We timed tool time setting up a google auth login. Wappler (JNR dev): just under an hour. Vue (SNR Dev): Over 3 hours. Big difference.
Yes the Wappler team needs to sort out the manuals and switch to a stable vs beta release methodology. Other than that Wappler is vastly under marketed, which means it loses ground to the other frameworks.
Thanks to all of you for your answers, although I have been programming in asp and php for many years, I have been using Wappler for 2 years and I have to say that it has made my life as a programmer much easier.
With client projects ranging from simple forms, shopping carts, backends for websites to complex CMS, that move thousands of records per year.
One of the largest projects that I did and I am still developing, it handles the licenses, sensitive data and payments of all the dentists in Argentina.
It may sound like a gigantic project, but it actually uses very simple functions, a lot of queries, some complex, a lot of forms and tables here and there, I use some government Apis for office addresses and other stuff, I even just used plain bootstrap, although I plan to change it esthetic.
This year, at the same time that I continue looking for clients and new projects, I am going to face a more personal project, I am a motorcyclist and I like to make long motorcycle trips of thousands of km and over the years I have made many friends along the way, I also have a motorcycle club with approximately 3000 people, but my idea is to create a social network of motorcyclists for motorcyclists that is present all over the world.
Obviously I do not expect this to be quick, but it is a project I am going to develop and improve it little by little, I do not seek to do it for money, I am not rich but I live calmly, but I would like it to help to have a common place to share this passion, make friends and enjoy. In other words something similar to this great community that is Wappler .
I agree with @JonL that there are limits in Wappler, but it must also be said that these limits are getting higher and higher every year and that is why I prefer to develop the entire application with Wappler using NodeJs in the first place and then I will see about according to the amount of public how I can continue hahha.
I think that although I already have an opinion about Wappler, it is always good to know other points of view because you never see everything.
I’d consider myself a fairly experienced programmer (Vue/React/Angular/Node/Go) but I still prefer to work with Wappler because I can move much faster.
My only problem right now is I hit many roadblocks but I know that’s mostly because I started using Wappler 2 weeks ago. Sometimes it’s a Wappler quirk, knowing how to do what you want, some other times you need to roll your own extension. As server actions increase in the future, I can see people developing full-blown apps with the speed of light. I can totally imagine even the most experienced devs using Wappler (assuming we kill the million bugs because sometimes it slows you down tremendously), and only refining with code directly where you need maximum performance.
As for scaling your app, it’s not as much related to Wappler because at the end of the day it’s just a fancy abstraction for the same code underneath. It is to how you architect your app: pooling your DB connections, load balancing between multiple instances, stateless front ends behind a CDN, building redundancy at every tier, caching as much data as possible, splitting services, possibly sharding your DB, and lastly monitoring your system.
Personally as much as Wappler frustrates the hell out of me, I still have a lot of fun building with it because it makes programming feel like a video game of drag and drop.
I don't think this is possible anymore with the Globals.
There is a post somewhere where Wappler team said they are looking for a way to improve this.
The task we are after is being able to connect to multiple DBs on the same single code base running in production.. dynamically.. On the fly. And that is not something Wappler can do right now.
I certainly don't have the experience that you have, but DevOps cannot help in this regard from what I know.
Most likely you know something we don't.
Extensions is one way to handle that, but its not something that Wappler supports natively.
One the main topic:
AppConnect is not as capable as React etc when it comes to front-end, events and dynamic bindings. Our app kind of took it to its limits some time ago where Patrick generously (drastically) optimized it and that has been improved in later releases too. So its super fast now.
But, if you have too many dynamic bindings and formatters etc on the page, UI will break.
So, unless you are planning on building a single UI which has 100s of dynamic bindings, events, formatters and repeats working at the same time, sky is the limit.