The Little Big Framework: Appsmith Reviewed
Hi, I'm Joseph Petty from GreenFlux, LLC - I'm a full-time freelancer/developer- focused on mobile/web apps, databases, and no/low-code platforms and integrations. I've been using Appsmith for a while now and have written a few other posts on it already, so I figured it was time to do a full review of the platform.
So what is Appsmith?
Well, for one thing- it's SUPER new, like just over a year old. But you'd have no idea just from using it. Their dev team is blazing fast 🔥 and has been churning out awesome new features almost every week since I started using it.
That being said, it is still a very young platform, so it's expected that some major features are still in development. I think they're off to an amazing start and I just wanted to mention how new the platform is before talking about any missing features.
Before I get into the details, here's a quick overview of what can be built with Appsmith- and what can't (yet 😉).
- ✅ - Web apps, admin panels, dashboards, reporting tools, etc
- ✅ - Full page or iframe browser-based apps
- ✅ - White-labeled apps (remove all Appsmith branding)
- ✅ - Datasource connections (APIs, *-SQL, GraphQL, Google Sheets)
❌ - Native/hybrid mobile app
- ❌ - Cron Jobs (coming soon)
- ❌ - Custom Themes (coming soon)
- ❌ - App versioning/History (coming soon)
- ❌ - Audit Logs (coming soon)
- ❌ - Granular permissions/ User groups (Enterprise Plan?)
Ok, enough rambling; on to the details:
Appsmith is an open-source project, so the code is entirely free to use. You can even host your own server with unlimited users, create custom widgets, and submit your own features/bug fixes through GitHub. The dev team is very welcoming to community contributions, and I've already seen a few features added by members from the Discord.
They've also been fast to approve new feature requests and add them to GitHub when new ideas come up in Discord. I've seen them take a suggestion and create a new issue in GitHub within minutes, and on several occasions.
So the code is free to use, but it has to be hosted somewhere. Now, if setting up a server isn't for you, don't worry! Appsmith also offers FREE HOSTING with unlimited users, datasources, and apps!
There is also an Enterprise Plan in the works, but pricing details are yet to be released.
Widgets are the basic UI building blocks in Appsmith. Interface components like buttons, tables, file pickers, etc, are displayed on a left sidebar. Just drag and drop widgets anywhere on the canvas grid and adjust the settings to change the appearance or connect a datasource.
There are no-code builders that use Google Sheets as a backend, others that can connect to SQL data sources, and a few with decent API connectors...
And then there's APPSMITH! 🤯
And on top of the wide range of source-specific connectors, the Datasources tab has some really cool extras: 😎
Sample Datasets: Jump straight to building without setting up a database by using the mock datasets!
Authenticated API: Save API credentials once, and then add any new request under that source. No need to authenticate each new endpoint or method when you add a new one.
Import from CURL: Paste in a CURL request from another source, and Appsmith will parse out the headers, endpoint, body, etc and add a new API automatically!
Generate Page from Datasource: Just pick a datasource and a searchable column, and BOOM! 🪄💥 NEW APP! github.com/appsmithorg/appsmith/pull/5513
Deploy and Share
Changes are saved automatically and reflected in real-time in the Appsmith editor, but you have to click Deploy to push those updates to the live version of the app. So you can make multiple edits/saves and see the results in the editor, but App Users won't see them until those changes are deployed.
Appsmith groups app by Organization, and uses these groups to share apps with other users. When you share an app with someone, you're actually sharing all apps in that organization- so be sure to organize your apps into Organizations that match the user-groups you intend to share with.
Appsmith offers free hosting on their Appsmith Cloud instance, as well as an Enterprise plan that is still being developed. Users may also host their own version for free.
Here's a detailed guide on how to deploy your own Appsmith server on Docker: docs.appsmith.com/setup/docker
Every Widget is a JSON object and can be referenced by the name you give it in the properties pane. The editor auto-completes and suggests available Widgets and Queries as you type.
Integrating with APIs in Appsmith is straightforward and direct. The UI is very similar to Postman- and gives you direct access to view responses and errors right in the editor.
When connecting an API to a widget, the widget's property pane displays the data from the last response right in the editor. So you can connect directly to an external API as a datasource, and see the results as you're building the app!
Another option for automations is to integrate with n8n.io or other automation platforms using webhooks. Here's a great tutorial from one of the community calls a few months ago.
When sharing an app with a new user, you can assign them one of 3 Roles:
- Create/Edit App
- View App
- Make App Public
- Invite Users
- Manage Users
- Create/Edit App
- View App
- Invite Users
- View App
- Invite Users as App Viewers only
New users can sign up with Google, GitHub, or just an email and password. There is no Multi-factor Authentication. SAML/SSO and granular access controls are in the Enterprise Plan only.
When you create an app and save API or database credentials, those values are never sent to the browser for App Users. The Appsmith servers (or your own hosted server) act as a proxy layer to append the request with credentials before forwarding it to the endpoint or database. The response goes directly to the client's browser. The Appsmith servers do not store any of the query responses.
So how does Appsmith `smith apps?
App Versioning /Exporting
Apps can be exported as plain JSON and imported back into any server. You can build your app on the free Appsmith cloud and later export to run on your own server or vice-versa. So it's easy to manually save your own backup copies at any time and recover if needed.
There's also a GitSync feature in beta right now that should be released soon to allow syncing backup copies to GitHub. However, at the moment, there is no way to save multiple app versions or recover old versions aside from manually exporting and importing.
The Appsmith team provide excellent support via several channels:
- Discord: discord.com/invite/rBTTVJp
- Community Forum: community.appsmith.com
- Intercom: Chat popup in Editor and Docs
The Discord is pretty active but the forum was launched a few months ago, so it's just starting to pick up.
Appsmith has also been very active in reaching out to the community for feedback. And they host a live community call every Thursday at 1 PM Eastern to demo new/upcoming features and answer questions from the community.
- Custom Themes
- GitSync for App Versioning
- Custom JS objects and functions, reusable across apps 😻