Bubble popped - wappler equivalent of backend workflow

Nice stuff. Looking at current Wappler possibilities that should be #1 nocode tool. I’m suprised there are “only” 20k devs out there. Beside those main showcases on the home page are there any other resources where I could check ready made apps ? I’m quite eager to see some more advanced stuff. On bubble i have deved an “ERP”- lvl application for enterpise / some CRMs etc - so I’m thinking how much complexity people squeeze out of wappler. I’ve seen already that medical software made in UK by Two devs - that’s really impressive and actually that turned my eyes in here again.

Besides the forum and the marketing site I don’t know of any. Why? It’s just not a thing around here I guess.

While on Bubble people are constantly showing what they have done. Here people tend to spend their time building instead of showing.

Probably because there is no marketplace for templates and plugins.

2 Likes

Well I ask just out of curiosity :wink: it’s always easier and it’s more convicing to see real poc. So based on your experience as of today how different is the speed of the development ? I’m totally aware about the huge differences between wappler and bubble.

Im personally in the middle of moving away from bubble.io to wappler.

I suppose the best way to put wappler for me, is wappler isnt limitation and will never be limitation for my use cases, the only limitation will be me personally and my knowledge.

In terms of capability, wappler, you can simply do more. For me bubble.io its easy to do the basic stuff, but near impossible to do the advance stuff. Where as wappler in my personal experience, basic stuff can require a bit of learning (coming from me where i had no experience and no proper understanding of web dev), however the advance stuff is signficantly easier.
the amount of stupid work arounds i had to do on bubble.io cost me hours and hours, if not days for like recursive workflows, and honestly never really taught me anything. With wappler, you can do the more advance logic, and while learning it, youll actually gain a skill that can be used in all aspects of web development, where as all my knowledge in bubble.io is a complete waste for me now.

Starting out can be a daunting task, i took the route of working with wappler development team, called slashash.co they are amazing and extremely skilled.
They developed basically majority of the migration app, and now im rebuilding it making slight adjustments everywhere so i run into issues when building and i can understand everything back to front. This method i see overall solid practice for security, data handling, database design, and just everything and then i slightly adjust for my personal preference and just to do it different and learn how that affects it. (the app was likely full ready to migrate, but i have control issues where i need to know everything about the app, since it does alot of financial transacitons i need to know its sound personally and have idea where issues could be if they come up)
Im rambling a bit haha

And another thing, your not tied into just wappler app. You can just use wappler app, but me personally i use it with vs code, dbeaver, vm machine for another wappler running. Once comfortable, you be able to develop so much quicker, well atleast i do. Im basically 8 months into my journey (took me a long time to actually decide to dive into wappler and leave bubble, which i wish i made the decision earlier), with about 3 months of proper proper learning now.

Anyway any questions feel free to reach out :slight_smile: Im based in australia so will be different timezone most likely.

2 Likes

@Hinky that’s a nice insight! thanks! I totally understand what you mean by advanced operations. I more or less know javascript and some basics of coding and it was always frustrating that I couldn’t do a simple loop natively - and yea… those recursive wfs are nonsense in terms of speed - totally agree on that.

I’m jelous :smiley: - my current concern is not about the editor or general concepts because it’s just a matter of hours inside, but rather those best practices. I’m only afraid that I will mess up something and I will have no idea about it :smiley:

Being able to know some javascript and loop natively will greatly help. I started off knowing nothing, but i love wappler because i can basically learn code at same time while being productive.

Yeah the best practices, your able to come up with your own practices which is good and bad. Im still figuring out what i want, and likely will always be changing. But when im finished, i do plan to share everything ive done, i just dont want to yet, as i still have alot to learn.

2 Likes

Have you checked out the meet-up videos on the Wappler YouTube channel? That dental app was showcased there (if that’s the one you’re talking about?)

2 Likes

Yes, when I saw that dental app I was like … “Waaat ? That’s a wappler made software?!” - this is the level of apps I’m developing today with bubble but ofc it’s faaar from what’s achievable with wappler coding. When that guy made a search on 1.2 mln records within a second I started to cry :joy:

That’s waaay beyond bubble capabilities within next 5 years :smiley:

Well I’m sure there are security guys on the forum here that can provide guidance. I’m not a traditional coder and I didn’t work in a software house or something. My main concerns are connected to things I don’t know yet :wink: Wappler gives you more power but also more responsibility. If you will craft some insights from your development and share that with wappler-incoming bubble community that will definatelly be a huge help :slight_smile:

I had this same question too and I think the most impressive example I could find was @mebeingken’s really impressive MealProApp, but as @JonL said it seems that people using Wappler don’t really bother showcasing, rather just building. Compared to Bubble, Wappler can basically be used to build anything (especially mobile apps & whitelabel solutions, something that was practically impossible with Bubble) so I think there’s less of a need to show off as much.

@rukevweb this app is really nice I like it :slight_smile: but in terms of impressivness - dental app wins the year. ! That is uber impressive :slight_smile:

1 Like

So I’m thinking @Hinky is it possible to do bubble autobinding ? Have you tried it?

Also in terms of data refresh in real-time - customers really like this. That’s something doable?

@x1Guru
I was the same, i used to be a photographer, and fully self taught in web dev, however still got along way to go.

Interms of security, I plan to prove this later. But my live bubble.io app, has huge security flaws, because i developed using client side bubble.io workflows (which i assume it was okay since most tutorials taught me to do database and workflows on client side). I got a security person to go through it, and he was able to make himself admin and among a bunch of other things.
Oh also, bubble wont do anything if your getting ddos, had horrible experience with that. My current setup, with cloudflare, i can protect myself alot easier. (sounds like more work, but id rather know i can do something, instead of waiting for bubble support and them being like they cant do anything.)(sorry im a bit jaded with bubble.io, i love they got my into web dev, but man never again)

So biggest thing i started doing on wappler, is client side workflows, use them just for controlling the ui and display data.
When updating/insert/adjusting anything on database, do it on backend/server side. 95% of my actions from bubble.io are now all server side data with multiple validation/authorisation checks.

Oh also, you can also determine what data is sent back to the client/user, like exact columns you want. With bubble.io you didnt have option it would just send back all data, which is big issue for me, since if user knew how to use development tools, they could see all the data i didnt want them to see. But with wappler, that isnt possible anymore, because i only send the columns i want to be sent. (bubble has row level security, but that is seriously restrictive and cant do too much really)

1 Like

Yeees that was my first like “OMG I love it moment” :smiley: - when bubble support told me that even simple dropdown takes all the data in - I was like… wtf !?

That’s something crazy you just mentioned - so you mean like if I create a workflow on the client that will “modify a thing” - that’s not a secure way ?

Bubble autobinding meaning how naming in all of bubble, like when you change it somewhere its changed everywhere?

My understanding is bubble, uses ids for each field, and then just have a name attribute, set to whatever you want. So think of it as the code variable name are the ids, which isnt human readable, but thats okay because on bubble.io side you cant see that as they only show you the name attribute.

With wappler, that cant be done, as names are used as ids as well basically, if wappler took the same approach, your code would have variable names with random id of numbers/letters and youd never know what its referring too. If that makes sense. (there is maybe a hacky way you could do it kinda, but i havent tried.)(dont see it as down side for wappler, more a benefit of bubble.io when you abstract so much of control away, normal coding and other low/no code solutions wont have that autobinding either)

So honestly naming is kinda art form and im still learning. But starting out, id just recommend better to be descriptive instead of vague and short. And you can also batch rename in wappler or using like vs code, (batch rename being find and replace, but just have to be careful with the selection/find part)

No no, by autobiding I mean autobiding feature on the inputs - so when user changes the field it autosaves into db. I assume it’s just a fancy name for simple query db update in wappler which can fire after user changes the field?

Im probs not explaining it the best.
On bubble.io, example when you wanted to update data or something, was that done on the page workflows?
Thats where i done all of mine on bubble.io. thats all on the user computer, so all the conditionals you put on the database update/create whatever, is run on client side, if the user is advance, they can adjust all of the conditional values. Example lets say you have database creation action, with conditional to only allow if current user is admin or something.
Since that condition is run on client side, everything, i mean everything if the user is smart enough can be adjusted, so user can falsify the condition saying they are admin when they are not and get the workflow to run. So creating a thing in database when it shouldnt. (if you do bubble.io backend workflows for this should be okay but i havent researched)

With wappler, what i do instead is, is youd send all information you want to update to a server workflow (called server connect action), on that server action youll then check all the data on the server side. Meaning youll for example re-fetch all the user and authentication data from the database again so you have a fresh non adjusted copy of the data of the user that is making the request, you can then check that fresh data to see if they actually admin, if they arent, you cancel the workflow and send response back to client saying not authorized. The reason this is better is because the user can not access or falsify any of the values since they have no access to the server. The idea is as a server, is assume anything from client could of been adjusted and tampered with, so double check everything on server side with fresh data from database that in theory should be perfectly safe and one source of truth.

oh that, i completely forgot about that. Ugh i never used that in bubble.io because i had so many different conditions i needed to use.

But yes im sure you can. I dont know best practice, but perhaps like a update query for each input, liek you said fire after changes that input.

Also refreshing in real time, yeah thats by websockets. I havent dove into that.
And im not going to do that yet, instead im taking the approach of just get client to refresh or have data refresh every 5 seconds, not as efficient, but queries are so much quicker for me on wappler, its not an issue to refresh the data, where as bubble.io refreshing data would take a few seconds.

again im not expert, this is just what im doing and current knowledge :slight_smile:

Like this:

This is reusable element, action that is fired on the client itself. The page is the CMS that is accessible only for logged in users and I have a user verification in place ofc.

They only way to do it on the server is to schedule a workflow to call backend with some data but that forces you to create everyting inside one huge server container workflows which in long run is unmanagable.

and then this conditional: (just an example i created for this post)
image

This should check on server if user field lang is pl - that’s fakeable?