AKASHA Core: Understanding Apps, Widgets, and Plugins
To make the most of AKASHA Core, it's essential to understand its architecture and the various layers that constitute its essence. Today, we're zooming in on extensions.
Extensions in AKASHA Core come in two flavors: defaults, which come pre-installed in social platforms like AKASHA World and are essential to its functioning, and optionals, giving users the freedom to add extra features.
Whether default or optional, there are 3 types of extensions:
- Apps
- Widgets
- Plugins
These components may not wear capes, but they're the heroes making your experience smooth and enjoyable. Let’s uncover the magic they bring to the table.
Applications
Applications are the powerhouses of platforms like AKASHA World, each one offering a unique slice of functionality to enrich your journey. From managing your profile to exploring new features, apps are the key to unlocking the full potential of AKASHA Core.
Examples of Apps
- Antenna app
- Authentication app
- Profile app
- Private messaging app
- Notifications app
- Search app
- Lists app (for bookmarking)
- Settings app
- Widget Starter app
- And many more apps either built by the AKASHA team or by the community 🤜✨🤛
How Applications Work
Applications seamlessly integrate with AKASHA Core through a register function. This function serves as a gateway, allowing applications to be loaded, mounted, and interacted with. By adhering to a specific interface, applications ensure compatibility and smooth operation within the AKASHA ecosystem.
Each application has its designated layout and mounting point, defining where it appears in the interface. So, when you navigate to a specific URL, the corresponding application is loaded to provide you with the intended functionality.
💡 Apps are standalone micro-frontends, bringing new features and use cases.
Widgets
While applications take center stage, widgets add flair and functionality to the overall experience. These smaller components can be found in various sections of the platform, such as the sidebar, top bar, and card displays.
Widgets enrich your interactions by providing quick access to information and features. For instance, the sidebar widget might display notifications or quick links to popular features, enhancing accessibility and usability.
Creating and Using Widgets
Similar to applications, widgets are registered components that define their loading function and mounting point within the AKASHA layout.
Additionally, widgets can be contextually displayed based on the user's current location within the platform, further tailoring the experience to individual needs.
💡 Widgets are components that add functionality and convenience to the interface, such as sidebar notifications or top bar shortcuts.
Plugins
Plugins are crucial for integrating apps at the data layer and sharing functionalities among them. They enable seamless interaction between different components, allowing apps to enhance each other’s capabilities without duplicating effort.
How Plugins Work
Plugins manage data storage, retrieval, and manipulation, ensuring smooth communication between apps. For instance, the notifications plugin, exposed by the notifications app, allows other apps to publish snackbar notification messages, providing a unified way to handle notifications across the platform.
Creating and Accessing Plugins
To create a plugin, developers define a set of functions that manipulate data. These functions are then made available to other components within the AKASHA ecosystem. By accessing plugins, applications and widgets can leverage shared functionalities, enhancing their capabilities without reinventing the wheel.
💡 Plugins enable apps to share functionalities and data, such as the notifications plugin that allows different apps to publish snackbar notifications.
Conclusion
Think of apps, widgets, and plugins as the superheroes of AKASHA Core, working together to make your experience awesome. Apps provide core functionalities, widgets add cool stuff to the interface, and plugins handle all the behind-the-scenes magic to keep things running smoothly.
At AKASHA, we envision a future where every community has the power to create, own, and govern its online spaces. This vision comes to life with AKASHA Core, our framework for building composable web3 apps and spaces that are independent and resilient, beyond the control of any centralized authority.
If you're a developer who would like to start building with AKASHA Core, click here to learn more about the AKASHA ecosystem. If you have any questions or need assistance, don't hesitate to reach out on our Discord server. We're here to support you every step of the way! 🚀