24
8 reasons to fall in ❤️ with Appwrite
I prepared a small quiz for you at the end of the article, so keep reading! 👀 Do you know all of the answers? 😈
Since I became active in Appwrite's Discord server, I noticed so many people getting excited about Appwrite that I decided to dedicate one article to all features people ❤️ about Appwrite.
Sure, I could write about everything that Appwrite can do, but that is not the focus of this article. If you are interested in that, check out Appwrite's articles. This article will show you practical reasons to use Appwrite for your next side project!
Thanks to Appwrite being open-sourced, we can expect all future updates to be free for everyone. This doesn't seem like a huge deal, but companies such as Google (Firebase) or Amazon (AWS) have their pricing set, so it looks promising at first but gets really expensive once your business grows. With Appwrite, you can choose your own server provider and scale without spending half of your budget.
I can happily confirm that Appwrite will stay open-sourced and keep all updates for free even after it gets released (1.0.0). Appwrite plans to provide cloud hosting and other juicy features for companies, but they don't intend to have any cloud-exclusive features!
I have joined many developer communities to learn about technology... Heck, I even hit the 100 server limit on Discord that made me upgrade to Discord nitro!
Without the slightest hesitation, I can tell you that Appwrite has the most friendly, active and helpful Discord community I have ever seen. It doesn't matter if you are a student learning to build your first project or a senior with ten years of experience; there is always someone to answer your questions on your level. Alongside the Appwrite core team and moderators, there are always at least 200 online members on the server ready to chat with you about anything. Yep, anything! A few days ago, we talked about API to check if a number is even 🧠
Most open-source platforms are not built to handle multiple projects, and some are even unable to scale! That becomes a nightmare once your business grows, and you may be forced to switch to something else...
Great news for you! Appwrite can do both. You can host multiple projects on one Appwrite instance AND you can set up a Docker swarm to scale it across multiple servers.
I personally find this really useful because only the Appwrite itself uses hardware resources, not the project. You can prepare a website for small local businesses and host it pretty much for free since your server hardware will barely notice their tiny traffic.
This is pretty related to the previous point...
Let's say you used Appwrite on 30 projects for your clients. Do you know how much to invoice the client for when talking about server expenses? Thanks to usage statistics, you can easily see which projects take the most space, have the most requests, or use the most CPU time for function executions. You can also see how many errors happened to functions in the past, so we could say you have a tiny alerting system in your hands. Last but not least, you can see bandwidth usage on each project separately and debug most of "it's slow" problems quickly.
Oh man, at this point, I was already impressed by what Appwrite is capable of, and it is only the middle of this article! 🔥
Appwrite tries to provide as many APIs as possible, so you can build the application without having to bundle 10 API servers together. Appwrite can help you to get:
- List of countries and their flags, continents, currencies, languages, phone codes, browser icons, credit card icons...
- Image preview (resize, rotate, ...)
- Placeholder photo of a user (their initials)
- QR code from a text
- Favicon from website URL
Can you see it? 😮 With Appwrite, you can focus on preparing the application instead of searching for the best API to do tiny tasks for your applications.
We have all been there... We have... We have all created CRONS on a Linux server, tested it for half of the week to make sure it works properly and then it stopped working anyway because the server got restarted...
I personally have been looking for a good cron alternative and fell in love with Appwrite's task manager. Actually, if someone would use Appwrite only to host functions and run tasks, I would not be surprised.
Using Appwrite, you can schedule an automatic function execution using cron syntax. This function can do anything from sending newsletter emails to buying you a pizza. No limitations at all.
Appwrite is still in active development, so we can expect awesome new features with every update! From the Discord community, I found about these features:
- Database refactor to speed up the database and introduce new possibilities
- Realtime to easily keep frontend and backend in sync
- Synchronous functions that makes using Appwrite functions as a custom API server possible
- Static hosting to deploy your web application directly into Appwrite
- Webhooks improvement so we can not only send webhook requests but also receive them
- Storage buckets to increase the security of file storage
- Locale API improvements so you can translate your whole application using Appwrite
Appwrite has done an amazing job getting as close to developers as possible. No matter what coding language you use, you can easily start using Appwrite thanks to their client and server-side SDK libraries. Instead of the developer adapting to a platform, the platform adapted to the developer.
As far as I am concerned, Appwrite is actively improving Flutter SDK and is working on Unity SDK to deliver the platform to even more developers.
There is a whole repository for Appwrite SDK generator that helps any developer prepare SDK for any programming language. This tool helps keep all SDKs up to date with Appwrite features and easily fixable if there is some new error introduced by a new language version.
Let's play a game 🎲 Can you figure out the coding language from a tiny snippet of Appwrite code?
// #1
let executionPromise = sdk.functions.createExecution("[FUNCTION_ID]", {
paymentType: "onetime"
});
Answer #1:
Javascript? Node? Deno? All of them!
// #2
Future result = account.create(
email: '[email protected]',
password: 'password',
);
Answer #2:
Dart, Flutter!
// #3
val avatars = Avatars(client)
GlobalScope.launch {
val result = avatars.getQR(
text = "https://appwrite.io/",
)
println(result); // Resource URL
}
Answer #3:
Java, Kotlin!
// #4
$health = new Health($client);
$result = $health->getTime();
Answer #4:
PHP!
# #5
from appwrite.client import Client
from appwrite.services.locale import Locale
client = Client()
locale = Locale(client)
result = locale.get()
Answer #5:
Python
# #6
functions = Appwrite::Functions.new(client);
response = functions.get_tag(function_id: '[FUNCTION_ID]', tag_id: '[TAG_ID]');
Answer #6:
Ruby
appwrite functions listTags --functionId="[FUNCTION_ID]" --search="[SEARCH]" --limit="0" --offset="0" --orderType="ASC"
Answer #7:
CLI
Did you answer them all correctly? Maybe you didn't? It's fine! We are learning something new every day. Everyone is. Either way, I've got a joke for you as a reward!
Do you know why this article only has eight points and not ten?
Because it's a matter of time when Appwrite trips and it will become:
♾ reasons to fall in ❤️ with Appwrite 🤯
That's it! I hope this article helped you understand why I fell in ❤️ with Appwrite. Fun fact, you just read the word Appwrite
over 40 times. Appwrite! If you have any questions, feel free to join Appwrite's Discord server and chat with their amazing community: https://appwrite.io/discord
24