@studio120 - Thatās a healthy, pragmatic perspective. I can try to share some of my experiences here, hopefully it provides some additional insight:
Design Limitations - There are various things, such as inverting the display style of an ext. vertical repeating group (ex. to make a repeating group display data in the same style as iMessage, Messenger, etc. which is not currently possibleā¦any chat-based project will feel a bit off by modern design standards). Mobile UX can be restrictive, as there arenāt currently touch gestures that users can access. Although some folks, like @gurun, have managed to write custom javascript plugins to implement solutions like hammer.js. That is the beauty of Bubble plug-ins - however, you either need wait until more developers come on board and release the plugin you are searching for, or you need to be able to develop the plugin yourself. Moreover, you cannot (currently) take advantage of libraries and frameworks outside of whatever Bubble is using. So, many of the animations and wild design interactions you see on places like Codepen and Webflow will be extremely challenging.
Performance Limitations: there are entire threads on this topic in the forums, and most have found workarounds for their issues. As someone with āsomeā traditional programming background, I can speculate that many javascript applications are hard to scale because the language itself is a dynamically untyped language and very hard to debug when applications get large enough at scale (although the Bubble team experiences this issue, not necessarily Bubble users). Again, because javascript is a dynamically untyped language, speed is unlikely to be mind-blowingā¦it all depends on the framework Bubble is building out. If you want to build something as responsive as snapchat, forget about itā¦for now, anyway.
I too have considered investing more time in traditional programming, but I generally only do so after I hit a wall with Bubbleā¦and that does happen time to time. The main advantage of investing your time in Bubble vs. learning a programming language, is time. My time is very limited, and Bubble is currently the best choice for me to build out my product while I continue to run a business and sleep a few hours each day. If Ruby is your first experience with traditional programming, the learning process will take lots of time to learn it wellā¦and well enough to accomplish an MVP that you would be able to build using Bubble in a fraction of the time. Why not learn Ruby (or javascript) while you learn and develop in Bubble? The two journeys go hand-in-hand.
That said, you canāt go wrong learning Ruby if you decide thatās best for you. Your situation is unique to you, and you know it better than anyone here on the forums. Three questions that I ask myself every single time I embark on a new project:
-
What am I trying to accomplish? (building an mvp for a startup, learning/improving my programming abilities, automating existing business processes, trying improve my product building skills as a designer, trying to improve my design skills as an engineer, etc. etc.)
-
What are my time constraints? (student, full-time employee, starving entrepreneur, hobbyist, etc).
-
What tools are available to build a working product? (Bubble, Sketch, Flinto, Javascript skillz, hustling skills, etc.)
I generally pick the most efficient tool to accomplish #1 within the constraints of #2ā¦this approach has never failed me to date. Bubble has saved me a lot of time in the product design/development lifecycle (and $), and I havenāt looked back since utilizing it as one of the primary tools in my arsenal.