С чего начать обучение по разработке Ubuntu? [закрыто]

17

Привет, я студент по компьютерным наукам, в настоящее время учусь в колледже и очень заинтересован в разработке программного обеспечения с открытым исходным кодом, особенно Ubuntu. Есть одна остановка для чтения о разработке Ubuntu.

Например, я изучил официальный учебник и документацию по Python, и мне было хорошо. Я мог писать полезные приложения. Есть ли какой-нибудь эквивалент для Ubuntu или единства? Я пытался скачать альфа 2, ставил сбой каждые 5 минут. Мне сказали в IRC, это было из-за некоторого изменения стека Xorg.

Теперь я не могу даже взглянуть на новое Unity, не говоря уже о том, чтобы помочь в его разработке.

Любая помощь или руководство приветствуется.

Сумасшедший ученый
источник
Какой язык ты знаешь? От этого я могу дать лучшие ответы.
Маниш Синха
Я разбираюсь в python и умею кодировать на C, C ++. Имею опыт работы с привязками pyqt и pygtk.
Безумный ученый
1
Если вы знаете Python, то Quickly может оказаться для вас куском пирога. Если вы знаете C / C ++, вы можете испачкать руки с помощью Unity
Manish Sinha

Ответы:

12

Разработка для Ubuntu

Спасибо за проявленный интерес. Несколько пояснений. Нет ничего такого, как программное обеспечение Ubuntu (я знаю, вы не имели в виду это). Все специфичные для Ubuntu изменения можно сделать доступными и в других дистрибутивах. Их упаковщики должны упаковать это.

Альфа 2 вылетает

Natty все еще находится в стадии разработки, и все еще идет процесс Xorg. Я бы порекомендовал вам начать работать над стабильными релизами. Используйте Maverick (10.10)для своей разработки. Таким образом, вы будете тратить больше времени на разработку приложений, а не сталкиваться с альфа-ошибками.

Если вы хотите внести свой вклад в Nattyили Unity, то, безусловно, вам нужно запустить Natty Alphas.

Единство развития

Если вы хотите разрабатывать для Unity, тогда вам нужно получить Natty и получить исходный код.

БЗР филиал ЛП: единство

В ветке оформления заказа есть файл, объясняющий, каковы его зависимости и как его можно построить.

Если вы хотите, чтобы ваш код был введен в Unity Maintree, вам нужно подписать. Canonical Contributer AgreementВам не нужно подписывать его каждый раз, когда вы отправляете свой код. Раз этого достаточно

Unity Bitesize ошибки

Лучший способ принять участие - это исправить небольшие ошибки в Unity. Хорхе Кастро регулярно публикует список рок-звезд Bitesize. Вот список мелких ошибок , с которыми вы, возможно, захотите поговорить Jorge Castro(jcastro на IRC на каналах #omg! Ubuntu! И т. Д. - он также зависает в чате Ask Ubuntu ) перед запуском, если вам нужна дополнительная помощь.

Вот документация для участия в разработке Unity

Разработка на Ubuntu

Как отметил Бурли, Quicklyэто отличный инструмент для развития. Он заботится о многих вещах. Использовать его в Ubuntu очень просто, поскольку он интегрируется с платформами разработки Ubuntu, такими как Launchpad, PPA и т. Д.

Быстро обрабатывает шаблон кода и предоставляет вам шаблоны. Как один для упаковки. Согласно статье 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).

Вы также можете прочитать об этом в статье Ars Technica от Райана Пола.

Выбор языка

Python - самый известный выбор разработки, как я вижу. Я могу ошибаться, поскольку многим также нравится разрабатывать на Gtk / C или Boost / C ++.

Есть и другие языки, такие как Vala, с помощью которых вы можете иметь собственные приложения, но иметь язык более высокого уровня.

Если вы знаете C#, вы можете использовать его для создания приложений, используя Gtk # для пользовательского интерфейса.

Маниш Синха
источник
2
Не забывайте, developer.ubuntu.com .
Гаурав Бутола
1
@Gaurav: он находится в стадии разработки. Может потребоваться время
Маниш Синха
1
Я обнаружил, что лучший способ учиться - это начать делать. Примите участие в проекте, который вам интересен (или начните свой собственный), и промокните ноги. Вы столкнетесь с множеством проблем, но вы узнаете столько же. Удачи!
Erigami
3

Это как-то связано, и я подумал, стоит ли публиковать это.

Один из самых простых способов для студента начать разработку с открытым исходным кодом (и увидеть код, который вы написали в Ubuntu) - это подключиться к Google Summer of Code . Добавление новой функции к существующему программному обеспечению - это опыт, которого вы не получите в школе, но он изменит ваш взгляд на программирование. Студенческие участники в паре с наставником из проекта с открытым исходным кодом, который поможет им начать и может помочь им с трудностями.

Кроме того, вам платят, и это выглядит хорошо в вашем резюме. Это отличный опыт. Я настоятельно рекомендую проверить это.

Джеймс
источник
Я слышал об этом. Но я слышал, что это было чрезвычайно трудно получить.
Безумный ученый
Там больше конкуренции, чем раньше, особенно для таких крупных проектов, как Ubuntu или Mozilla. Но если вы найдете меньший проект, поговорите с разработчиками (и прочитайте их вики!) Заранее, чтобы узнать, что они ищут, и получите действительно хорошую рецензию, ваши шансы приличные. Возможно, вам придется попробовать несколько проектов; первый, который я запросил, не удался. Несколько патчей под вашим поясом также помогают, хотя я думаю, что это был вопрос. :-) FWIW, я не знаю гораздо больше , чем базовый C ++ и некоторые структуры данных происходит в.
Джеймс
Где ты, твой Gsoc?
Безумный ученый
AbiSource. У одного из моих одноклассников, человека, который побудил меня попасть в GSOC, был проект на CMS Made Simple.
Джеймс
2

Хорошей отправной точкой может быть Ubuntu Wiki. Специально для Unity взгляните на проект Ayatana

https://wiki.ubuntu.com/Ayatana

[EDIT] Если вам нравится Python, взгляните на Quickly

https://wiki.ubuntu.com/Quickly

Это система управления проектами с некоторыми специальными функциями, такими как упаковка и распространение исходного кода на launchpad.net, который также является хорошим местом для поиска информации.

burli
источник
1

Ну, мой ответ, возможно, бесполезен, но я следовал только за этим: просто начните читать источники Unity (и связанных с ними проектов, таких как compiz , nux ...) и попробуйте поработать над тем, что вас интересует. grepможет быть также хорошим другом, когда дело доходит до простых модификаций.

Тревиньо
источник