Replies: 10 comments 13 replies
-
Please let me use my preferred IDE and my preferred Git provider to write extensions/plugins. You'll surely not be able to provide the same developer experience that my preferred set of tools already provide. Focus on the important stuff that makes Budibase unique, not on trying to compete with VSCode or GitHub. There's so much more you can do than wasting time with that. |
Beta Was this translation helpful? Give feedback.
-
I would argue that your target persona is not necessary a developer, but a tech savvy individual who understands the constructs of development. Many developers tend to learn a flavor of development, and stick to what's in their wheelhouse. They explore other flavors when their current ones arent doing it for them, or when they have down time. Often, learning something new requires additional overhead rather than just getting it done with what you know. For someone like myself, taught myself a few front end languages when I was young. I didnt keep up with the evolution of those languages or the syntax. I can write pseudo code for days. My point is that I have enough knowledge to leverage this type of tool without knowing how to code. I work at a medium-ish enterprise saas company and I've been exposed to a lot of the user experience research. While I cant go into detail for obvious reasons, low-code/no-code environments are most adopted by exactly the overhead which your products remove; the ability to effectively create something without roadblocks, googling for hours, debugging; for a user base that doesnt already do that. e; words are hard. i fixed words. e2; please understand I am not trying to make you something that you're not. I like what you are, already. I just want to expose the possibility, or start the discussion, that your product serves a much wider audience than what I'm reading, or interpreting. |
Beta Was this translation helpful? Give feedback.
-
Eager to see what External data connectors comes out as. First thought was, since most project is JS, maybe it'll be a JS config file that exports a plugins array...
import { SalesforceConnector } from 'budibase-salesforce-connector';
export const plugins = [ SalesforceConnector ]; or traditional Node: const SalesforceConnector = require( 'budibase-salesforce-connector' );
const plugins = [ SalesforceConnector ];
module.exports = { plugins }; In the thought example, Not sure the depth of what the object SalesforceConnector would need to contain/expose but i'll check back in. i've used an OSS project called either way, cool project 👍 |
Beta Was this translation helpful? Give feedback.
-
Hi there. Would love to see possible extension hooks in bb that allow using some libs that are not related to svelte, like openlayers.org. |
Beta Was this translation helpful? Give feedback.
-
Hi! Annotating here an Idea that I think is the one that has the highest ROI per difficulty of implementation ratio As a quick way to start extending BudiBase, I was thinking of starting to give the possibility of saving a component created in the BB Builder for later use in other apps. I know right now one can duplicate or copy paste it within the same app but one cannot save it in a 'Custom' menu next to the built in Svelte components (like Forms, Data, Elements) for later use. That would let a very fast abstraction and reusability of created components with custom style and should not be difficult to implement. It also can open a marketplace of components built on BB Builder by users and make the development even faster. To really empower the low code philosophy it would also makes sense to me to give the possibility to eventually give the components' creators the possibility to kind of pack a component to expose the user input needed for a component only at the highest level of the component tree, so the user of the component can use it with a plug in of values instead of understanding pre-done higher level components or navigating the inner hierarchical complexity of a BB Component, that in the builder quickly becomes messy with higher level of subcomponents and tree depth. |
Beta Was this translation helpful? Give feedback.
-
Hi @mjashanks - I'm evaluating Budibase for a project and found this discussion because I'm keen to know about how one might extend functionally to cover bespoke needs. Is there any documentation on how to do this available? My thinking is that Budibase would be ideal for 90-95 of this particular project (fulfills the needs excellently) but as always happens, it's inevitable we'll need something that's not "off the shelf" in a few screens and I'm keen to understand how feasible this is. Keen to understand how "locked in" one might be and what level of technical challenge it'd be. I looked over the docs but didn't seem to find anything suitable (unless I missed it?) Thanks in advance. Looks like a great platform you've build here! |
Beta Was this translation helpful? Give feedback.
-
I like budibase because it is low code, I am not a coder nor do I want to expend the time to be one. So anything that reduces the need for code is what I want. So a repository of scripts, that have a simple way to be changed to fit my tables and fields and required actions would be useful. I have seen code snippets in the discussion threads needed to make things function properly but finding them again was beyond my skill or time commitment level. Having components or plugins as mentioned above would also be useful |
Beta Was this translation helpful? Give feedback.
-
Budibase open source low-code solve a lot of problem in building web apps giving a good promise for my next project. However I'm quite shock that extensions/plugins is not currently supported yet. My first a few questions that require to build an app is not supported after reading the docs and trying the apps:
My suggestions
|
Beta Was this translation helpful? Give feedback.
-
Hi Mike, I think there are various levels of customization potential for BB, I think in order of interest at least for me (difficult to generalize) would be:
|
Beta Was this translation helpful? Give feedback.
-
While Data / Design / Automation is applicable to every app, the better the developer or more complex the app, the more a 4th aspect becomes conspicuous in its absence: Model. By Model, I neither mean modelling of data / UI or the Model in MVC. Rather, I mean business modelling as a result of analysis, and making this operational (and central) to an application. Several examples to illustrate (the absence of an independent Model): OptionsIn the Data layer, a field can be defined as an Option type. A set of accepted values can be specified, and each can be configured with a colour. However, values != display text, particularly when the user and developer don't share the same language / culture. Then Budibase's default (and only) approach to displaying the values in the Screen fields highlights the lack of distinction with a display label (commonly provided in other tools). Moreover, while an Option field displays all values conifigured, no there's no ability to disallow / prune values at runtime. And, despite configuring a colour per value, either field nor table columns have a means to reflect the associated colour. AttachmentAn attachment data type has some documented constraints, but conversely to other data types (e.g. Options, Numbers), Attachments rely entirely on the form component to set constraints every time! And even with acceptable file extensions configured, these can be bypassed by drag-n-drop! So every time the same data field is editable, the extensions and multiplicity must be re-specified. Whereas DRY would prescribe the configuration be centralised and reused wherever the same data field is affected across screens, forms, or grids. Data column names versus form field labelsSimilar to Option values, the column names in the data layer become the default label values every single time the field is referenced in screens, forms, tables or grids. So the UI label must be re-specified, along with placeholder, help text, default value, etc each and every time. Data state versus business stateTypically, a record of data includes 1+ state flags. For example, BudiBase Users have a Which drives to another complication: data nullability versus values becomming required when in particular business states. For example, Thus "spaghetti code" and "a maintenance nightmare" quickly arises, with little to no built-in testability. Conversely, a model may be implemented as a state machine, both centralising the criteria, logic and mutation(s), and making this DRY, apparent, and testable.... maintainable... and extensible. So, notwithstanding my implementation suggestion, I advocate more for a Business Model aspect to be independently configured yet integrated into each of the existing Data, Design and Automations layers. |
Beta Was this translation helpful? Give feedback.
-
So far, we have built an easy to use visual development application - the Budibase Builder.
Next, we want to create a fantastic development experience around the builder, allowing developers to easily extend the platform - with the full power of code.
The potential areas for extension are as follows...
We want to create an amazing developer experience around these extension points, but what does this look like ?
Since the builder runs locally, we have the option of basing this around the file system - allowing developers to code using their favourite IDE. Is this the way to go ? Should we be aiming to keep the coding experience inside the builder ?
Beta Was this translation helpful? Give feedback.
All reactions