Od czego zacząć naukę rozwijania Ubuntu? [Zamknięte]


17

Cześć, jestem studentem informatyki, który obecnie studiuje i bardzo interesuje się tworzeniem oprogramowania typu open source, szczególnie ubuntu. Czy jest tam jedno miejsce do przeczytania na temat tworzenia ubuntu.

Na przykład przejrzałem oficjalny samouczek i dokumentację Pythona i byłem gotowy, aby napisać przydatne aplikacje. Czy istnieje jakiś odpowiednik Ubuntu lub jedności? Próbowałem pobrać alpha 2, ciągle zawieszał się co 5 minut. Powiedziano mi w IRC, że było to spowodowane pewną zmianą stosu Xorga.

Teraz nie mogę nawet spojrzeć na nową Jedność, nie mówiąc już o jej rozwoju.

Doceniamy wszelką pomoc lub wskazówki.


Który język znasz? Dzięki temu mogę udzielić lepszych odpowiedzi.
Manish Sinha,


Mam doświadczenie w Pythonie i potrafię pisać w C, C ++. Mam doświadczenie w wiązaniu pyqt i pygtk.
Szalony naukowiec

1
Jeśli znasz Pythona, Quickly może być dla Ciebie bułką z masłem. Jeśli znasz C / C ++, możesz zabrudzić sobie ręce dzięki Unity
Manish Sinha

Odpowiedzi:


12

Programowanie dla Ubuntu

Dzięki za zainteresowanie. Tylko kilka wyjaśnień. Nie ma nic takiego jak oprogramowanie Ubuntu (wiem, że nie miałeś tego na myśli). Wszystkie zmiany specyficzne dla Ubuntu można udostępnić również w innych dystrybucjach. Ich pakujący muszą to zapakować.

Awaria alfa 2

Natty jest wciąż w fazie rozwoju i nadal trwa transformacja Xorga. Polecam rozpocząć pracę nad stabilnymi wersjami. Użyj Maverick (10.10)do prac programistycznych. W ten sposób poświęcisz więcej czasu na tworzenie aplikacji niż na błędy alfa.

Jeśli chcesz przyczynić się do Nattylub Unity, to na pewno musisz uruchomić Natty Alphas.

Rozwój jedności

Jeśli chcesz się rozwijać w Unity, musisz zdobyć Natty i pobrać kod źródłowy.

gałąź bzr lp: jedność

W gałęzi kasy znajduje się plik wyjaśniający, jakie są zależności i jak można go zbudować.

Jeśli chcesz wprowadzić kod w jedność, musisz go podpisać Canonical Contributer AgreementNie musisz go podpisywać za każdym razem, gdy przesyłasz kod. Raz wystarczy

Błędy Unity Bitesize

Najlepszym sposobem na zaangażowanie się jest usunięcie drobnych błędów w Unity. Jorge Castro regularnie publikuje listę gwiazd rocka w Bitesize. Oto lista błędów związanych z niewielkimi rozmiarami, z którymi możesz porozmawiać Jorge Castro(jcastro na IRC na kanałach #omg! Ubuntu! Itd. - on także spotyka się na czacie Ask Ubuntu ) przed rozpoczęciem, jeśli potrzebujesz dodatkowej pomocy.

Oto dokumentacja dotycząca zaangażowania w rozwój Unity

Rozwój na Ubuntu

Jak zauważył Burli, Quicklyjest doskonałym narzędziem do rozwoju. Dba o wiele rzeczy. Używanie go na Ubuntu jest bardzo łatwe, ponieważ integruje się z platformami rozwojowymi Ubuntu, takimi jak Launchpad, PPA itp

SZYBKO obsługuje kod płyty grzewczej i udostępnia szablony. Jak jeden jest do pakowania. Zgodnie z artykułem LWN

Released template is ubuntu-project, which automates working 
with Ubuntu-compatible code (using Bazaar for version control, 
Debian packaging, and Launchpad.net Personal Package Archives (PPA) 
for releases).

Możesz także przeczytać o tym w tym artykule Ars Technica autorstwa Ryana Paula

Język z wyboru

Python jest najbardziej znanym wyborem rozwoju, jak widzę. Mogę się mylić, ponieważ wielu lubi też rozwijać się w Gtk / C lub Boost / C ++.

Istnieją również inne języki, takie jak Vala, w których możesz mieć aplikacje natywne, ale mieć język wyższego poziomu.

Jeśli wiesz C#, możesz go użyć do tworzenia aplikacji przy użyciu Gtk # dla interfejsu użytkownika.


2
Nie można zapomnieć developer.ubuntu.com .
Gaurav Butola

1
@Gaurav: Jest w fazie rozwoju. Może trochę potrwać
Manish Sinha,

1
Odkryłem, że najlepszym sposobem na naukę jest zacząć. Zaangażuj się w projekt, który uważasz za interesujący (lub rozpocznij własny) i zmocz stopy. Napotkasz wiele problemów, ale nauczysz się tyle samo. Powodzenia!
Erigami,

3

Jest to trochę powiązane i zastanawiałem się, czy to opublikować.

Jednym z najprostszych sposobów, aby uczeń mógł rozpocząć programowanie na zasadach open source (i zobaczyć kod, który napisałeś, pojawia się w Ubuntu), jest zaangażowanie się w Google Summer of Code . Dodanie nowej funkcji do istniejącego oprogramowania to doświadczenie, którego nie zdobędziesz w szkole, ale zmieni ono sposób patrzenia na programowanie. Uczestnicy studenci są parowani z mentorem z projektu open source, który pomoże im zacząć i może pomóc w trudnych sprawach.

Dodatkowo zarabiasz i ładnie wygląda na twoim CV. To wspaniałe doświadczenie. Zdecydowanie polecam to sprawdzić.


Słyszałem o tym, ale słyszałem, że bardzo trudno było go zdobyć.
Szalony naukowiec

Konkurencja jest większa niż kiedyś, szczególnie w przypadku większych projektów, takich jak Ubuntu lub Mozilla. Ale jeśli znajdziesz mniejszy projekt, porozmawiaj wcześniej z programistami (i przeczytaj ich wiki!), Aby dowiedzieć się, czego szukają i mieć naprawdę fajny opis, twoje szanse są przyzwoite. Być może będziesz musiał wypróbować kilka projektów; pierwszy, o który pytałem, nie wyszedł z tropu. Pomaga też kilka łatek pod pasem, choć myślę, że o to właśnie chodziło. :-) FWIW, nie wiedziałem nic więcej niż podstawowy C ++ i niektóre struktury danych.
James

Gdzie ty robisz swojego Gsoc?
Szalony naukowiec

AbiSource. Jeden z moich kolegów z klasy, osoba, która zachęciła mnie do wejścia do GSOC, miał projekt dotyczący CMS Made Simple.
James

2

Dobrym punktem wyjścia może być Wiki Ubuntu. Specjalnie dla Unity spójrz na projekt Ayatana

https://wiki.ubuntu.com/Ayatana

[EDYCJA] Jeśli podoba Ci się Python, spójrz również na Szybko

https://wiki.ubuntu.com/Quickly

Jest to system zarządzania projektami z kilkoma specjalnymi funkcjami, takimi jak pakowanie i dystrybucja kodu źródłowego na launchpad.net, który jest również dobrym miejscem do wyszukiwania informacji


1

Cóż, moja odpowiedź może być bezużyteczna, ale jedyne, za czym poszedłem: po prostu zacznij czytać źródła jedności (i powiązane projekty, takie jak compiz , nux ...) i spróbuj pracować nad tym, co cię interesuje. grepmoże być również miłym przyjacielem, jeśli chodzi o pracę nad prostymi modyfikacjami.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.