From Fedora Project Wiki

Portal de Desenvolvimento do Fedora

Página do Projeto | Repositório de Conteúdo | Repositório dos Sites da Web

Sobre o Projeto

Fedora - Portal de Desenvolvimento é um local para os programadores. Proporcionando informação sobre ferramentas, tecnologia e outras funcionalidades incluídas no Fedora. Este visa aumentar o conhecimento sobre os projetos novos e existentes entre os utilizadores.

Audiência Alvo

The target audience are developers working on Fedora. Specifically: developers building on Fedora; not contributing to Fedora.

They might be either:

  1. Newcomers: Either choosing their Linux distribution or looking for information about how to start developing. Also searching recommendations.
  2. Existing Fedora Developers: Discovering what else Fedora offers and learning how to use it.
  3. Existing Developers: Learning about how to use their existing open source toolsets on Fedora.

Targeting on developers using Mac or even Windows and deploying to Fedora/CentOS might be considered for later iterations.

Objetivo Principal

The site would help developers to:

  1. Explore: What tools and tech Fedora offers? (DevAssistant, Vagrant, Python, Ruby, ...)
  2. Build: How to use this tech? How it is packaged in Fedora?
  3. Deploy: Which deployment technology should I use? (Copr, Nulecule, xdg-app, Software Collections, OpenShift ...)


Recursos do Projeto

Instância de testes

Instância de testes do portal - http://developer.fedorainfracloud.org

Repositórios

Comunicação

Monitorização do Projeto

  • Tasks + Issue Tracking: part of GitHub repositories mentioned above

Conteúdo

Página Principal

The homepage need to explain clearly what is it all about and how/why you would use it. It would also show the main features from current release.

Começar

Guides on "How to start a new project" starting from the problem-to-be-solved perspective and guiding developers trough possible options.

Páginas:

  1. Aplicaçaõ:
    • Aplicação da Web
    • Aplicação da linha de comandos
    • Aplicação da GUI da Área de Trabalho
    • Aplicação móvel
  2. Hardware:
    • Raspberry Pi
    • Arduino devices
    • Other embedded devices
  3. Dicas:
    • Provide online documentation
    • Collaborate effectively

Ferramentas

Show what tools are available in Fedora, how they can help developers and some example use-cases.

Páginas:

  • Docker
  • Vagrant

Um exemplo: Vagrant page structure

  • how to get packaged Vagrant
  • providers
    • libvirt
    • how to run libvirt with vagrant without sudo
  • list of plugins we maintain
  • troubleshooting, how to report problems
  • Fedora Vagrant boxes (links)

Tecnologia

Mostly language/framework-specific guides about how to install it on Fedora, what is different in Fedora (if), what might be the best practise.

Each language section should include a link to a DevAssistant Assistant with hello world.

Páginas:

  1. Linguagens:
    • Python
    • Ruby
    • PHP
    • Perl
    • GO
    • C e C++
    • Node.js
    • Java
  2. Base de dados:
    • PostgreSQL
    • MariaDB
    • Sqlite

Um exemplo: Ruby page structure

See the Ruby page in the prototype: http://developer.fedorainfracloud.org/tech/languages/ruby/ruby-installation.html

  • Instalação (both RPM and upstream)
  • Explain them why we have ruby-mri bin and why we use rubypick
  • Answers to how our Ruby differs from upstream
  • Let users know we have a lot or RubyGems packaged
  • Show them our https://github.com/zuhao/isitfedoraruby
  • Let them know there is something like Fedora Ruby SIG that they can join
  • 'I am a Ruby dev subpage':
    • combination/listing of pages we have and are relevant
    • Ruby, Rails, Vagrant, docker, DevAssistant would show up

Implementação

Ways of deploying a service or distributing an app to the end users. A guide that would recommend the best option for a particular app type.

Could also include a flowchart of 1) identify app type 2) identify pkg type 3) pkg ....

Páginas:

  • Copr (Custom RPM repositories)
  • Software Collections (decoupling update cycles from host OS)
  • Nulecule (multi-container network services)
  • xdg-app (containers for desktop applications)
  • Rolekit (package installation & configuration flows)
  • OpenShift (autoscaling network application hosting)

Recursos

Docker images and Vagrant boxes to download.

Blogues

Agregação de blogues interessantes para programadores.