Wiki page start.md changed with summary [created] by Gareth Halfacree

This commit is contained in:
Gareth Halfacree 2017-11-27 05:47:44 -08:00 committed by apache
parent 8cc537fda7
commit d14dbbc8fe
1 changed files with 83 additions and 0 deletions

View File

@ -0,0 +1,83 @@
---
~~Title: Developing with the Enlightenment Foundation Libraries (EFL)~~
~~NOCACHE~~
---
# Developing with the Enlightenment Foundation Libraries (EFL) #
The Enlightenment Foundation Libraries (EFL) are designed to build on top of each other in layers, steadily becoming higher level yet allowing access to each individual level as they go. Whether you're looking for the types of low-level helpers contained in the ``Eina`` library or the high-level abstractions of Elemetary you'll find a wealth of assistance within EFL.
More information on EFL can be found on the [About EFL page](https://www.enlightenment.org/about-efl), including a breakdown of its various features and components.
## Current vs. Beta ##
The documentation on this section of the website is written with a focus on the next-generation release, currently in beta. While this means that the documentation is only partial in places, it will get you started with the very latest revision of EFL and all the new and improved features they bring.
Documentation on the current version of EFL can be found in the [Legacy section](https://www.enlightenment.org/develop/legacy/). When working through the documentation on the site, keep in mind that if a document is located in ``/develop/legacy`` it is referring to the current release of EFL; if it is located in any other section of ``/develop`` it is referring to the beta release.
Information on porting software between the current and beta releases of EFL can be found as part of the [Programming Guides](#Programming_Guides) section.
## Languages ##
Developers working with the Enlightenment Foundation Libraries can do so in a variety of languages. Each of the following documentation categories is split by language: at present the majority include documentation only for the C language, with documentation for additional languages to follow.
In all cases, the language to which a particular document applies will be indicated in the page location: a document in ``/develop/tutorial/c`` will be for the C language, whereas ``/develop/tutorial/python`` offers alternatives for Python developers.
A full list of the languages available is available on the landing page for each section.
## Setting up the Development Environment [TODO] ##
Information on downloading EFL and configuring a development environment can be found in the [Setup section](https://www.enlightenment.org/develop/setup/).
## Tutorials ##
The [EFL Tutorials](https://www.enlightenment.org/develop/tutorial/) are designed to introduce the functions and features of EFL to those who already have programming experience. Each tutorial walks through the implementation of a particular EFL feature or function, building upon previous tutorials to offer a step-by-step guide to getting comfortable with developing using EFL.
Although you do not need previous experience with EFL to work through the tutorials, general programming knowledge is required.
## Examples ##
The [Examples section](https://www.enlightenment.org/develop/examples/) offers more in-depth projects for those who have worked through the tutorials and would like to learn more. Previous knowledge of EFL is advised, making the examples a logical next step once you are comfortable with the tutorial materials.
## Programming Guides ##
The [Programming Guides](https://www.enlightenment.org/develop/guides/start.md) are designed to provide informative material to developers working with EFL, including code snippets demonstrating the use of various features. They are provided both as a reference guide for experienced EFL developers and as an alternative or extension to the tutorials and examples for those who prefer less guided experimentation.
## API Reference Documentation ##
A reference to the features and functions of the beta-release API can be found in the [API Reference section](https://www.enlightenment.org/develop/api/).
Those working on the current-release API can find the equivalent documentation in the [Legacy API Reference section](https://www.enlightenment.org/develop/api/start).
Please note that, in both cases, the reference documentation is currently available exclusively for the C programming language.
## Contributing Code ##
If you have been working on an EFL-based project which you believe would be of value to other EFL or Enlightenment users, please consider contributing the code. Details on how to contribute your code to the Enlightenment Project, whether it's an entire application or a simple bug-fix, can be found on the [Developer Contributions page](https://www.enlightenment.org/contrib/devs/start.md).
## IRC Channels ##
The official Enlightenment IRC channels, hosted on the Freenode network, are often the quickest way to communicate with fellow developers. Available in English, German, French, and Korean, the channels are accessible 24/7 and are open to both developers and end-users.
Connection information is as follows:
| IRC Server | Port | Channel | Topic |
|------------------|------|---------|-----------------|
| irc.freenode.net | 6667 | #e | General |
| irc.freenode.net | 6667 | #e.py | Python-related |
| irc.freenode.net | 6667 | #e.bsd | BSD-related |
| irc.freenode.net | 6667 | #e.de | General - German|
| irc.freenode.net | 6667 | #e.fr | General - French|
| irc.freenode.net | 6667 | #e.kr | General - Korean|
## Mailing Lists ##
The Enlightenment Project maintains several mailing lists, full details of which are available on the [Contact page](https://www.enlightenment.org/contact). The developer-focused lists, which are available in English only, are as follows:
| Mailing List | Archive | Topic |
|----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|------------------------------|
| [enlightenment-devel](http://lists.sourceforge.net/lists/listinfo/enlightenment-devel) | [SourceForge](http://sourceforge.net/mailarchive/forum.php?forum_name=enlightenment-devel) | E/EFL development discussion |
| [enlightenment-announce](http://lists.sourceforge.net/lists/listinfo/enlightenment-announce) | [SourceForge](http://sourceforge.net/mailarchive/forum.php?forum_name=enlightenment-announce) | E/EFL announcements |
| [enlightenment-intl](http://lists.sourceforge.net/lists/listinfo/enlightenment-intl) | [SourceForge](http://sourceforge.net/mailarchive/forum.php?forum_name=enlightenment-intl) | Internationalization changes |
| [enlightenment-git](mailto:git@lists.enlightenment.org?body=subscribe) | | Git commits |
| [enlightenment-e-bork](mailto:e-bork@lists.enlightenment.org?body=subscribe) | | Quality assurance reports |