Note: This documentation was generated with the assistance of AI. While we strive for accuracy, please verify critical information and consult the official QCObjects repository for the most up-to-date documentation.
QCObjects is an open-source framework designed for full-stack development with a focus on micro-services and micro-frontends in an N-Tier architecture. This audit analyzes both the core framework and its CLI tools.
- Core Package: 2.5.141-beta
- CLI Package: 2.5.105-beta
- License: LGPL-3.0
- Multiple module format support:
- CommonJS (cjs)
- ES Modules (esm)
- Browser bundle
- TypeScript support with type definitions
- Flexible exports configuration
- TypeScript-based project
- ESBuild for bundling
- Multiple build scripts:
- TypeScript compilation
- Type definitions generation
- Browser bundle creation
- Testing framework: Jasmine
- Linting: ESLint with TypeScript support
- Node.js ≥ 22
- npm ≥ 10
- Modern tooling stack
// MVC Implementation
- Controller.ts (2.9KB)
- View.ts (542B)
- Component.ts (54KB)
// Component System
- Component.ts (54KB)
- ComponentFactory.ts (6.1KB)
- componentLoader.ts (12KB)
// Service Layer
- Service.ts (3.6KB)
- BackendMicroservice.ts (8.4KB)
- serviceLoader.ts (13KB)
// Security
- Crypt.ts (2.8KB)
- Base64.ts (2.6KB)
- secretKey.ts (113B)
// Core Architecture
- Class.ts (9.2KB)
- InheritClass.ts (7.7KB)
- ClassFactory.ts (1.6KB)
- MainProcess.ts (17KB)
// Platform Support
- platform.ts (1.1KB)
- basePath.ts (613B)
- domain.ts (132B)
// Data Management
- DataStringify.ts (556B)
- ComplexStorageCache.ts (2.9KB)
- PrimaryCollections.ts (3.1KB)
- ArrayCollection.ts (3.6KB)# Main Commands
qcobjects create <appname> [options] # Create new applications
qcobjects publish <appname> # Publish applications
qcobjects generate-sw <appname> # Generate service workers
qcobjects launch <appname> # Launch applications# Progressive Web App Creation
qcobjects create mynewapp --pwa
# Accelerated Mobile Pages
qcobjects create mynewapp --amp- HTTP/2 server configuration:
/etc/qcobjects/config.json - Service management:
service qcobjects status
service qcobjects start
service qcobjects stop
service qcobjects restart-
Component System
- Robust component architecture
- Sophisticated lifecycle management
- Efficient component loading
-
Development Tooling
- Comprehensive CLI support
- Built-in HTTP/2 server
- Multiple project templates
-
Architecture
- Clear separation of concerns
- Modular design
- Type safety support
-
Build System
- Multiple module format support
- Modern bundling with ESBuild
- TypeScript integration
-
Node.js Version Requirement
- Requires Node.js ≥ 22 (currently in development)
- May limit adoption in production environments
-
Documentation-Implementation Gap
- Some features are more sophisticated than documented
- Others are less robust than suggested
-
Backend Features
- Limited backend service templates
- Basic microservice scaffolding
- Needs more robust backend tooling
-
Cross-Platform Support
- Browser-centric implementation
- Limited platform-specific optimizations
- Better integration of CLI documentation
- More comprehensive API documentation
- Clear separation of browser vs Node.js features
- Better documentation of limitations and requirements
- Reduce Node.js version requirement
- Enhance backend microservices capabilities
- Strengthen cross-platform support
- Add more robust security features
- Better balance between frontend and backend features
- More comprehensive N-Tier architecture support
- Enhanced PWA feature implementation
- Add more project templates
- Improve testing infrastructure
- Enhance microservice development tools
- Better integration with modern development workflows
QCObjects shows promise as a full-stack framework with strong frontend capabilities. While it provides good tooling and component architecture, it needs improvements in backend support and cross-platform capabilities. The high Node.js version requirement may limit its immediate adoption in production environments.
The framework is actively maintained and shows good engineering practices, but could benefit from better alignment between documentation and implementation, particularly in areas of backend support and cross-platform capabilities.
- Audit Date: March 2024
- Framework Version: 2.5.141-beta
- CLI Version: 2.5.105-beta