blob: 071f7fdd0961d93e5529f4ccc354a54d5d294a7b [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="generator" content="Hugo 0.111.3">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>Welcome to Apache Celix</title>
<link rel="icon" href="/assets/img/favicon.ico">
<link href="/assets/css/bootstrap.min.css" rel="stylesheet">
<link href="/assets/css/style.css" rel="stylesheet">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
<script>
var _paq = window._paq = window._paq || [];
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '9']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
</head>
<body>
<a href="https://github.com/apache/celix" class="github-ribbon">
<img src="/assets/img/forkme_right_red_aa0000.png" alt="Fork me on GitHub">
</a>
<nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-top">
<div class="container">
<a class="navbar-brand" href="/">
<img src="/assets/img/celix-white.svg" height="40" class="d-inline-block align-top" alt="Celix Logo">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<li class="nav-item active">
<a class="nav-link" href="/">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/download.cgi">Download</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="ddDocs" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Docs
</a>
<div class="dropdown-menu" aria-labelledby="ddDocs">
<a class="dropdown-item" href="/docs/2.4.0/docs.html">2.4.0 (latest)</a>
<a class="dropdown-item" href="/docs/2.2.1/docs.html">2.2.1</a>
<a class="dropdown-item" href="/docs/2.1.0/docs.html">2.1.0</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="ddContributing" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Contributing
</a>
<div class="dropdown-menu" aria-labelledby="ddContributing">
<a class="dropdown-item" href="/contributing/youatcelix.html">You at Celix</a>
<a class="dropdown-item" href="/contributing/submitting-patches.html">Submitting patches</a>
<a class="dropdown-item" href="/contributing/source-and-builds.html">Source code and builds</a>
<hr>
<a class="dropdown-item" href="/contributing/releasing.html">Releasing</a>
<a class="dropdown-item" href="/contributing/volunteers.html">Volunteers</a>
<a class="dropdown-item" href="https://whimsy.apache.org/board/minutes/Celix.html">Board Reports</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="ddSupport" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Support
</a>
<div class="dropdown-menu" aria-labelledby="ddSupport">
<a class="dropdown-item" href="/support/mailing-list.html">Mailing Lists</a>
<a class="dropdown-item" href="/support/issue-tracking.html">Issue Tracking</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="ddFoundation" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
ASF
</a>
<div class="dropdown-menu" aria-labelledby="ddFoundation">
<a class="dropdown-item" href="https://www.apache.org/">ASF Home</a>
<a class="dropdown-item" href="https://www.apache.org/foundation/how-it-works.html">How it works</a>
<a class="dropdown-item" href="https://www.apache.org/licenses/">License</a>
<a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
<a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
<a class="dropdown-item" href="https://www.apache.org/security/">Security</a>
<a class="dropdown-item" href="https://www.apache.org/foundation/policies/conduct">Code of Conduct</a>
</div>
</li>
</ul>
</div>
</div>
</nav>
<div class="section">
<div class="container my-5">
<div class="section no-pad-bot" id="index-banner">
<div class="col-sm-12">
<h1 class="text-center">Welcome to Apache Celix</h1>
</div>
<div class="row my-4">
<img class="text-center mx-auto img-home" src="/assets/img/celix.svg" alt="Celix Logo">
</div>
<div class="col-sm-12 mb-4">
<h2 class="text-center">An implementation of the OSGi specification adapted to C and C++</h2>
</div>
<div class="col-sm-12 text-center mx-auto">
<a href="/download.cgi" class="btn btn-primary btn-lg mb-1">
<i class="fas fa-download"></i> DOWNLOAD
</a>
&nbsp;
<a href="/docs/2.4.0/docs.html" class="btn btn-primary btn-lg mb-1">
<i class="fas fa-book-open"></i> GETTING STARTED
</a>
</div>
</div>
</div>
</div>
<div class="section light-grey">
<div class="container py-3">
<div class="row my-4">
<div class="col-sm-12 card">
<div class="card-body">
<h4 class="card-title">Welcome to Apache Celix</h4>
<p class="card-text">
Apache Celix is an implementation of the OSGi specification adapted to C and C++. It is a framework to
develop (dynamic) modular software applications using component and/or service-oriented programming.
</p>
<p class="card-text">
Apache Celix is primarily developed in C and adds an additional abstraction, in the form of a library, to
support for C++.
</p>
<p class="card-text">
Modularity in Apache Celix is achieved by supporting - run-time installed - bundles. <code>Bundles</code>
are zip files and can contain software modules in the form of shared libraries. <code>Modules</code> can
provide and request dynamic services, for and from other modules, by interacting with a provided bundle
context. <code>Services</code> in Apache Celix are "plain old" structs with function pointers or "plain
old C++ Objects" (POCO).
</p>
</div>
</div>
</div>
<div class="row my-4">
<div class="col-sm-12 card">
<div class="card-body">
<h4 class="card-title">News</h4>
<p class="card-text">
<strong>29-September-2023</strong> - After a successful vote Celix 2.4.0 is released.<br>
<strong>14-July-2022</strong> - After a successful vote Celix 2.3.0 is released.<br>
<strong>17-May-2020</strong> - After a successful vote Celix 2.2.1 is released.<br>
<strong>09-Jan-2020</strong> - After a successful vote Celix 2.2.0 is released.<br>
<strong>30-Jan-2018</strong> - After a successful vote Celix 2.1.0 is released.<br>
<strong>26-Oct-2016</strong> - After a successful vote Celix 2.0.0 is released.<br>
<strong>16-Jul-2014</strong> - After a successful graduation vote Apache Celix has graduated to a top-level project.<br>
<strong>25-Feb-2014</strong> - After a successful vote Celix 1.0.0.incubating is released. The release is now available via the <a href="/download.cgi">download</a> section.<br>
<strong>16-Dec-2012</strong> - After a successful vote Celix 0.0.1-incubating is released.<br>
</p>
</div>
</div>
</div>
</div>
</div>
<footer class="py-3 bg-secondary">
<div class="container">
<div class="row">
<div class="col-md-8 text-center">
<p class="m-0 text-white">
Copyright &copy; 2023 The Apache Software Foundation, Licensed under
the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
<br>
Apache Celix, Celix, Apache, the Apache feather logo and the Apache Celix logo are trademarks of The Apache Software Foundation.
</p>
</div>
<div class="col-md-4 text-center">
<a href="https://www.apache.org/events/current-event.html" target="_blank">
<img src="https://www.apache.org/events/current-event-234x60.png" title="Apache Event" width="234" height="60" border="0">
</a>
</div>
</div>
</div>
</footer>
<script src="/assets/js/jquery.min.js"></script>
<script src="/assets/js/bootstrap.bundle.min.js"></script>
</body>
</html>