fromgate
Administrator
Меня довольно часто спрашивают: как я научился писать плагины и где я учился программировать на Java.
Я сразу отвечу на второй вопрос: до написания своего первого плагина (под bukkit - но суть от этого не меняется) я не знал Java вообще. Т.е. моё изучение Java заключалось как раз в разработке плагинов.
До написания своего первого плагина у меня был опыт программирования: когда-то я увлекался программированием на ассемблере, на Pascal и Delphi, также был небольшой опыт программирования на C++.
Поэтому начало обучения Java у меня началось с создания первого плагина по туториалу. Это была обучалка по созданию плагинов на bukkit, с использованием IDE Eclipse, что и предопределило мою многолетнюю практику — до nukkit'а я не использовал Intellij IDEA.
Естественно в процессе я пользовался не только подсказками в Eclipse, но и гуглом, а также регулярно задавал вопросы в разделе посвященном разработки плагинов.
Поэтому мой ответ на вопрос, вынесенный в заголовок, будет звучать так:
1. Пройти пошагово все пункты по туториалу "С чего начать создание плагинов". При этом всё делать вручную - т.е. не нужно копировать код из исходников. При воссоздании рекомендую с самого начала задавать собственные имена переменным, классам и методам.
2. При возникновении ошибок внимательно читать их, переводить и пытаться понять, что они значат.
3. Если сразу ошибку найти не удалось - попробуйте просто погуглить её или задать вопрос на нашем форуме (можете прямо в тексте с туториалами). В 99% случаев такая ошибка уже у кого-то была и решение есть в интернете. Чаще всего ответ находится на stackoverflow.com — для меня этот сайт оказался самым полезным.
4. Решив все ошибки и пройдя туториал - сразу попробуйте написать свой собственный плагин. Если у Вас есть опыт разработки плагинов на PHP для PocketMine - то лучше всего если Вы займетесь портированием плагина. Это позволит Вам сосредоточиться именно на нюансах языка. Если у Вас опыта нет, то можете просто придумать простейший плагин: например вывод текста при определённых условиях, плагин на команды телепортации и т.п.
5. Напишите первый плагин. Лучше всего если Вы придумаете какую-то фишку для своего сервера, для которой нужен плагин и начнёте его писать. Я так когда-то написал свой первый публичный плагин NoSmoking! — после него всё пошло гораздо легче. И хотя код того плагина просто ужасен, но это был важный плагин для нашего сервера - он очень активно использовался для создания антуража на сервере, а также это был большой шаг в моем обучении.
6. При разработке плагинов не стесняйтесь заглядывать в чужой код. Я регулярно пользуюсь декомпиляторами или смотрю как устроено на github'е. Вас никто не заставляет копировать чужой код, но "подсмотреть" какие-то приемы - это может быть очень полезно для обучения.
Дальше будет проще!
Я знаю, что мой опыт, часто находит возражения: я не предлагаю читать книг, а "учиться" по живому. Но на мой взгляд, это можно великолепно совмещать. А уж откуда Вы черпаете информацию из книг или из гугла, это дело десятое.
Естественно в процессе Вам потребуется почитать и какие-то статьи. Но всё это может потребоваться при решении уже каких-то конкретно поставленных задач.
Единственно, если у Вас нет опыта программирования вообще, то я бы порекомендовал для осознания что такое программирование и с чем его едят либо почитать такие-то книги, либо "поиграть" на таких ресурсах:
1. Обучение программированию на Hour of Code (краткая информация на русском): code.org/mc (тут вроде речь идёт от JavaScript, но по факту вы получите понятие об азах программирования - циклах, функциях и т.п.)
2. Обучение Java в форме игры: javarush.ru
И конечно книги. Какие - я не буду советовать, потому что не прочитал ни одной книги по Java. Но если кто-то допишет их в этой теме, я с удовольствием их сюда добавлю.
Я сразу отвечу на второй вопрос: до написания своего первого плагина (под bukkit - но суть от этого не меняется) я не знал Java вообще. Т.е. моё изучение Java заключалось как раз в разработке плагинов.
До написания своего первого плагина у меня был опыт программирования: когда-то я увлекался программированием на ассемблере, на Pascal и Delphi, также был небольшой опыт программирования на C++.
Поэтому начало обучения Java у меня началось с создания первого плагина по туториалу. Это была обучалка по созданию плагинов на bukkit, с использованием IDE Eclipse, что и предопределило мою многолетнюю практику — до nukkit'а я не использовал Intellij IDEA.
Естественно в процессе я пользовался не только подсказками в Eclipse, но и гуглом, а также регулярно задавал вопросы в разделе посвященном разработки плагинов.
Поэтому мой ответ на вопрос, вынесенный в заголовок, будет звучать так:
1. Пройти пошагово все пункты по туториалу "С чего начать создание плагинов". При этом всё делать вручную - т.е. не нужно копировать код из исходников. При воссоздании рекомендую с самого начала задавать собственные имена переменным, классам и методам.
2. При возникновении ошибок внимательно читать их, переводить и пытаться понять, что они значат.
3. Если сразу ошибку найти не удалось - попробуйте просто погуглить её или задать вопрос на нашем форуме (можете прямо в тексте с туториалами). В 99% случаев такая ошибка уже у кого-то была и решение есть в интернете. Чаще всего ответ находится на stackoverflow.com — для меня этот сайт оказался самым полезным.
4. Решив все ошибки и пройдя туториал - сразу попробуйте написать свой собственный плагин. Если у Вас есть опыт разработки плагинов на PHP для PocketMine - то лучше всего если Вы займетесь портированием плагина. Это позволит Вам сосредоточиться именно на нюансах языка. Если у Вас опыта нет, то можете просто придумать простейший плагин: например вывод текста при определённых условиях, плагин на команды телепортации и т.п.
5. Напишите первый плагин. Лучше всего если Вы придумаете какую-то фишку для своего сервера, для которой нужен плагин и начнёте его писать. Я так когда-то написал свой первый публичный плагин NoSmoking! — после него всё пошло гораздо легче. И хотя код того плагина просто ужасен, но это был важный плагин для нашего сервера - он очень активно использовался для создания антуража на сервере, а также это был большой шаг в моем обучении.
6. При разработке плагинов не стесняйтесь заглядывать в чужой код. Я регулярно пользуюсь декомпиляторами или смотрю как устроено на github'е. Вас никто не заставляет копировать чужой код, но "подсмотреть" какие-то приемы - это может быть очень полезно для обучения.
Дальше будет проще!
Я знаю, что мой опыт, часто находит возражения: я не предлагаю читать книг, а "учиться" по живому. Но на мой взгляд, это можно великолепно совмещать. А уж откуда Вы черпаете информацию из книг или из гугла, это дело десятое.
Естественно в процессе Вам потребуется почитать и какие-то статьи. Но всё это может потребоваться при решении уже каких-то конкретно поставленных задач.
Единственно, если у Вас нет опыта программирования вообще, то я бы порекомендовал для осознания что такое программирование и с чем его едят либо почитать такие-то книги, либо "поиграть" на таких ресурсах:
1. Обучение программированию на Hour of Code (краткая информация на русском): code.org/mc (тут вроде речь идёт от JavaScript, но по факту вы получите понятие об азах программирования - циклах, функциях и т.п.)
2. Обучение Java в форме игры: javarush.ru
И конечно книги. Какие - я не буду советовать, потому что не прочитал ни одной книги по Java. Но если кто-то допишет их в этой теме, я с удовольствием их сюда добавлю.
Last edited: