Welcome to Backendless Pro¶
Backendless Pro is a uniquely tailored version of the widely recognized Backendless Platform, designed to meet diverse deployment needs. This special package offers the flexibility to be installed in various environments. Whether it's for individual developers or large-scale enterprise operations, Backendless Pro adapts seamlessly to different requirements.
Where Can Backendless Pro Run?¶
Backendless Pro's adaptability is one of its core strengths. It can be set up in various scenarios, each offering its own advantages:
-
Developer Machines: For individual developers or small teams, Backendless Pro can be installed directly on personal computers. This setup is ideal for development, testing, and small-scale applications.
-
Public Cloud Installations: Leverage the scalability and reliability of public clouds like AWS, Azure, or Digital Ocean. Backendless Pro integrates smoothly with these services, providing a robust platform for your applications.
-
Private Cloud Environments: For organizations prioritizing privacy and control, Backendless Pro can be deployed in private cloud infrastructures. This ensures data security and compliance with internal policies and regulations.
Docker and Kubernetes Integration¶
Backendless Pro harnesses the power of Docker and Kubernetes, two of the most prominent technologies in modern application deployment. This integration brings several benefits:
- Scalability: Easily scale your applications to handle increased loads without compromising performance.
- Portability: Docker containers make your applications portable across different environments, ensuring consistency.
- Automated Management: Kubernetes automates various aspects of application deployment, scaling, and management, significantly simplifying these processes. This overview provides a glimpse into the capabilities and versatility of Backendless Pro. For detailed installation instructions, configuration options, and best practices, please refer to the subsequent chapters.
Key Functional Areas¶
Backendless Pro is not just a deployment solution; it's a comprehensive ecosystem designed to cater to a wide range of backend needs. Here's an expanded look at its key features:
UI Builder¶
- Drag-and-Drop Interface: Intuitive drag-and-drop functionality for building UIs, making it accessible to developers and non-developers alike. A wide range of UI components is available for the easy assembly of complex interfaces.
- Responsive Design: Tools to ensure UIs are responsive and adapt seamlessly to different screen sizes and devices. Preview modes to check the UI appearance on various devices before deployment.
- Custom Component Integration: Ability to integrate custom-built components, allowing for personalized and unique UI designs. Support for importing third-party UI components to extend the available toolset.
- Data Binding: Easy data binding options to connect UI components with backend data sources. Dynamic updating of UI elements in response to data changes.
- Event Handling: Support for defining custom event handlers to respond to user interactions. Options to bind events to backend logic or APIs for interactive and dynamic UIs.
- Visual Logic Builder: Codeless logic construction with a visual interface, enabling complex logic creation without writing code. Simplifies the process of adding interactivity and behavior to UI components.
- Theme Customization: Extensive customization options for themes, styles, and appearances to match brand identity. Ability to create and apply custom themes across various UI components.
- Page Management: Organized management of multiple pages within an application. Tools for navigation and linking between different parts of the application.
- Preview and Testing: Real-time preview capabilities to see changes as they are made. Features for testing UI functionality and interactivity during the design phase.
- Integration with Backend Services: Seamless integration with Backendless backend services like Database, User Management, etc. Easy linking of UI elements to various backend functionalities.
- Version Control and Collaboration: Version control mechanisms to keep track of changes and revisions. Collaboration features for team-based development and design.
- Export and Deployment Options: Options to export UI code for use outside of the Backendless platform. Simple deployment processes to make the UI go live on various platforms.
Database as a Service¶
- Robust Data Storage: Offers scalable, secure, and efficient database solutions, making data management seamless and reliable.
- Data Modeling and Relations: Allowing the creation and management of complex data schemas with support for relational data.
- CRUD Operations: Facilities for Create, Read, Update, and Delete operations on the database, accessible through a user-friendly interface or via API calls.
- Data Security: Features for securing data, including access control lists (ACLs) and role-based permissions.
- Real-Time Database: Capability to provide real-time data updates to the applications, enabling dynamic content delivery.
- Data Queries: Advanced query capabilities including filtering, sorting, and aggregation, which can be executed through both code and visual interfaces.
- Cloud Code: Integration with server-side logic to extend database functionality, like triggering custom business logic on data changes.
- File Storage Integration: Capability to store and retrieve files associated with database records, facilitating comprehensive data management.
- Import/Export Data: Tools for importing and exporting data to and from the database, aiding in data migration and backup processes.
Identity Management Service¶
- User Registration: Enables easy registration processes for new users, including options for custom user properties.
- User Login: Provides secure login mechanisms, supporting various authentication methods like email/password, social logins, etc.
- Password Recovery: Facilitates password reset and recovery processes, enhancing user convenience and security.
- Account Management: Allows users to manage their account details, including updating personal information and changing passwords.
- Role-Based Access Control (RBAC): Offers the ability to assign and manage roles, granting or restricting access to certain application parts based on user roles.
- Social Login Integration: Supports integration with popular social media platforms for streamlined user authentication.
- Two-Factor Authentication (2FA): Enhances security by adding an additional layer of authentication beyond just the username and password.
- Session Management: Manages user sessions, including options for session expiration and tracking active sessions.
- User Property Management: Customizable user properties to store and manage additional user information relevant to the application.
- Email Confirmation for User Registration: Adds a layer of verification to the user registration process through email confirmations.
- Security Compliance and Standards: Ensures compliance with security standards and regulations for user data handling and privacy.
- API for Custom Authentication: Provides APIs for implementing custom authentication logic to meet specific application requirements.
- User Segmentation and Analytics: Tools for segmenting users based on various criteria and analyzing user behavior for improved application insights.
- Account Lockout Policies: Implements policies to lock out accounts after a certain number of failed login attempts, preventing unauthorized access.
Push Notification¶
- Cross-Platform Support: Delivers notifications across various platforms like iOS, Android, and web applications.
- Rich Media Notifications: Allows inclusion of images, videos, and sound in push notifications for a richer user experience.
- Segmented Targeting: Enables targeting specific user segments based on predefined criteria for more personalized notifications.
- Scheduled Notifications: Supports scheduling push notifications for future delivery.
Programmable Emails¶
- Template-Based Emails: Supports the use of customizable templates for consistent email formatting and branding.
- Smart-Text: Supports intelligent content substitution based on the data related to the email recipient.
- Automated Email Triggers: Automates email sending based on specific triggers or user actions within the application.
- Bulk Email Sending: Facilitates sending emails to large groups of recipients efficiently. Attachment Support: Enables sending attachments along with emails.
- Delivery Tracking: Tracks email delivery status and open rates to gauge user engagement and response.
Publish-Subscribe Messaging¶
- Real-Time Messaging: Allows for real-time communication between users and the server.
- Channel-Based Messaging: Supports creating channels for different topics or user groups for organized communication.
- Message History: Keeps a history of messages sent over channels for later retrieval or auditing.
- Private and Public Channels: Offers both private (restricted access) and public (open access) channels.
- Payload Flexibility: Supports various payload types including text, images, and custom data structures.
- Client-Side API: Provides a client-side API for easy integration and management of messaging features within the application.
- Scalability: Ensures the messaging system scales with the growth of the application and its user base.
- Security and Encryption: Implements security measures, including encryption, to protect the integrity and confidentiality of messages.
File Service¶
- Hierarchical File Storage: Organizes files in a directory-like structure, allowing for easy navigation and management. Supports creating, renaming, and deleting directories and files.
- File Upload and Download: Facilitates the uploading of files from client devices to the server. Enables easy and secure downloading of files from the server to client devices.
- File Sharing and Permissions: Allows setting permissions on files and directories for different user roles. Supports sharing files with specific users or making them publicly accessible.
- Automatic File Versioning: Keeps track of different file versions, enabling rollback to previous versions if needed.
- Image Manipulation: Provides capabilities for basic image manipulation, such as resizing, cropping, and format conversion.
- File Search and Query: Supports searching for files based on various criteria like name, size, or custom metadata. Allows querying files within a directory or across the file storage.
- Secure File Access: Implements security measures to ensure that files are accessed only by authorized users. Offers options for secure file access through URL signing.
- Large File Support: Can handle large files, suitable for various types of media and data files.
- File Metadata: Allows attaching custom metadata to files, facilitating better organization and retrieval. Supports retrieving and modifying file metadata. (This feature uses Backendless Database as the mechanism to store metadata information).
- CDN Integration: Integrates with Content Delivery Networks (CDNs) for faster and more reliable file delivery across geographies.
- API Access: Provides comprehensive APIs for file operations, making it easy to integrate file services into applications.
- Cross-Platform Compatibility: Ensures compatibility with various client platforms, including web, mobile, and desktop applications.
Cloud Logic¶
API Services¶
- Custom Business Logic: Allows the creation of custom business logic that can be invoked via RESTful APIs.
- Integration with External Services: Facilitates integration with external APIs and services, enabling expanded functionality in your application.
- Request and Response Customization: Provides the ability to customize API requests and responses, tailoring them to specific application needs.
- Synchronous and Asynchronous Operations: Supports both synchronous and asynchronous operations, allowing for flexible handling of various processing requirements.
- Language Support: Supports development in Java, JavaScript (nodeJS), and Codeless, enabling developers to write code in a language they are comfortable with or use a graphical programming model with Codeless.
Timers¶
- Scheduled Tasks: Enables scheduling of tasks to run at specific times or intervals, automating routine operations.
- Cron Expression Support: Offers the capability to use cron expressions for precise scheduling of tasks.
- Background Jobs: Allows running long-term operations in the background without impacting the user experience.
API Event Handlers¶
- Data Event Handlers: Triggers actions in response to data events (like create, update, delete) in the database.
- User Event Handlers: Executes custom logic in response to user-related events, such as registration or login.
- Real-Time Event Processing: Facilitates the handling of events in real-time, ensuring immediate response to important triggers.
- Conditional Logic Execution: Allows setting conditions under which specific event handlers should execute.
- Pre- and Post-Event Processing: Supports executing code before and after the main event processing, providing additional layers of logic.
This enhanced list of features underscores the comprehensiveness of Backendless Pro, illustrating its capability to handle a wide array of backend tasks efficiently. From managing user data and communications to developing robust UIs, Backendless Pro equips you with the tools necessary to build, deploy, and manage powerful applications.