Objective-j

Objective-J logo

Languages

Objective-J

Welcome to the Objective-J repository by Aura Ecosystem.

About

This repository contains Objective-J resources and code. Objective-J is an object-oriented language that compiles to JavaScript, allowing developers to write sophisticated web applications with a syntax similar to Objective-C. It brings powerful OOP capabilities to web development while leveraging the ubiquity of JavaScript.

Language Composition

This repository’s language composition (approximate):

Machine-readable data: languages.json at the repository root: https://github.com/auraecosystem/Objective-j/blob/main/languages.json

About “Objective-C++-like”

Objective-C++-like refers to code and patterns that combine Objective-C–style messaging and object model with C++-style types, idioms, or lower-level constructs adapted for the Objective-J ecosystem. In this repository the label indicates code that:

Practical implications

Example (pseudo-code, illustrative)

```.mm
// Pseudo Objective‑C++‑like source
@implementation FastVector : CPObject
{
    CppVector<int> _buf; // conceptual backing buffer
}

- (void)push:(int)value
{
    _buf.push_back(value); // low-level operation handled by backing engine
}

- (CPNumber)sum
{
    return _buf.reduce((acc, v) => acc + v, 0);
}
@end

Recommendations

Features

Getting Started

Prerequisites

Installation

To get started with this project, clone the repository and explore the available resources:

git clone https://github.com/auraecosystem/Objective-j.git
cd Objective-j
npm install

Try the example

We included a small runnable “Hello World” example that compiles a constrained Objective-J-like source file to JavaScript using the included toy compiler.

Build and run the example:

npm run build
# then open examples/hello/index.html in a browser

Usage

// Example Objective-J code
@implementation MyClass : CPObject
{
    CPString name;
}

- (void)setName:(CPString)aName
{
    name = aName;
}

- (CPString)name
{
    return name;
}

@end

Project Structure

Objective-j/
├── assets/           # Images and static assets
├── scripts/          # Tooling (toy compiler)
├── src/              # Source code
├── examples/         # Example projects (includes Hello example)
├── docs/             # Documentation
├── tools/            # Utility scripts
├── badges/           # Generated badges
├── .github/          # GitHub workflows
└── README.md         # This file

Development

Building the examples

npm run build

Development server (manual)

You can serve the repository with a simple static server, for example using Python:

python -m http.server 8000
# then open https://localhost:8000/examples/hello/index.html

Contributing

See CONTRIBUTING.md for guidelines on contributing.

Code of Conduct

Please follow the guidelines in CODE_OF_CONDUCT.md.

License

For license information, please refer to the LICENSE file in the repository if present.

Support

If you have any questions or need help:


Happy coding with Objective-J! 🚀