Executando verificação de segurança...
4

[pitch]🔥 XPLPC - Projeto para usar C++ em Mobile, Desktop, Web, Flutter, Python, Kotlin e outras plataformas

Olá,

Fiz um projeto para usar C++ em Mobile, Desktop, Web, Flutter, Python, Kotlin e outras plataformas.

O repositório está aqui: https://github.com/xplpc/xplpc

Descrição:

XPLPC - Conectando Linguagens e Plataformas

O XPLPC é um projeto inovador que conecta diferentes linguagens e plataformas, permitindo a transferência de dados serializados entre elas sem a necessidade de um servidor. Em vez disso, utilizamos a memória do próprio dispositivo, tornando o processo extremamente eficiente. Esse conceito é conhecido como Lite Procedure Call.

Como funciona?

A classe Platform Proxy é responsável por conectar as linguagens e plataformas, facilitando a transferência de dados diretamente na memória do dispositivo, sem depender do protocolo HTTP. Isso torna a comunicação entre diferentes ambientes mais rápida e fluida.

Com o XPLPC, é possível, por exemplo, chamar um procedimento escrito em C++ a partir de um aplicativo mobile, ou o inverso, de maneira simples e integrada. Isso abre inúmeras possibilidades para desenvolvedores que precisam integrar diversas linguagens e plataformas sem complicação.

Principais benefícios

  • Integração facilitada: Sem necessidade de servidores intermediários.
  • Alto desempenho: Utiliza a memória do dispositivo para comunicação eficiente.
  • Simplicidade: Não exige geradores ou ferramentas extras.
  • Plug & Play: A biblioteca pode ser adicionada ao seu projeto sem necessidade de reescrita de código.

Como usar?

Exemplo em C++:

auto request = Request{
    "sample.login",
    Param<std::string>{"username", "paulo"},
    Param<std::string>{"password", "123456"},
    Param<bool>{"remember", true},
};

Client::call<std::string>(request, [](const auto &response) {
    std::cout << "Returned Value: " << (response ? response.value() : "Empty") << std::endl;
});

Exemplo em Kotlin:

val request = Request(
    "sample.login",
    Param("username", "paulo"),
    Param("password", "123456"),
    Param("remember", true)
)

Client.call<String>(request) { response ->
    println("Returned Value: $response")
}

Exemplo em Swift:

let request = Request(
    "sample.login",
    Param("username", "paulo"),
    Param("password", "123456"),
    Param("remember", true)
)

Client.call(request) { (response: String?) in
    print("Returned Value: \(response)")
}

Exemplo em WASM com Typescript:

const request = new XRequest(
    "sample.login",
    new XParam("username", "paulo"),
    new XParam("password", "123456"),
    new XParam("remember", true),
);

XClient.call<string>(request).then((response : string | undefined) => {
    console.log("Returned Value: " + response);
});

Exemplo em Flutter (Dart):

var request = Request("sample.login", [
    Param("username", "paulo"),
    Param("password", "123456"),
    Param("remember", true),
]);

Client.call<String>(request, (response) {
    print(response);
});

Exemplo em Python:

request = Request(
    "sample.login",
    [
        Param("username", "paulo"),
        Param("password", "123456"),
        Param("remember", True),
    ],
)

response = Client.call(request)
print(response)

Plataformas e Linguagens Suportadas

  • C
  • C++
  • Kotlin (Android, Desktop)
  • Swift (iOS, macOS, tvOS, watchOS, Catalyst)
  • WebAssembly
  • Flutter (iOS, Android, Desktop)
  • Python

O XPLPC simplifica a integração entre linguagens e plataformas, proporcionando uma experiência otimizada para desenvolvedores. Explore essa tecnologia e leve seus projetos a um novo nível! 🚀

Plataformas e Linguagens Suportadas

Web demo do XPLPC:

URL: https://xplpc.github.io/wasm-demo/

Projeto que usa o XPLPC:

Projeto pessoal que usa o XPLPC para gerar texto, imagem e vídeo (C++, ggml, ffmpeg, stablediff, whisper): https://paulocoutinho.pages.dev/aikit/apple/

Carregando publicação patrocinada...