vortexwolf / 2ch-Browser

Source code of the 2ch Browser Android application
https://play.google.com/store/apps/details?id=com.vortexwolf.chan
MIT License
86 stars 16 forks source link

Eclipse vs Android Studio / IntelliJ IDEA #60

Closed magicgoose closed 7 years ago

magicgoose commented 9 years ago

я предлагаю окончательно и бесповоротно попячить Eclipse, например, и хранить либо файлы проектов IDEA, либо что-нибудь кроссIDEшное (Gradle) потому что (фришная) IDEA уже давно даёт Eclipse просраться, там лучше сделано практически всё, в том числе XML-редактор для UI и прочих ресурсов. (поддержка андроида из коробки, безо всяких плагинов и "Android Studio") Единственное, с чем у меня не было толком опыта — это нативные либы (в андроидных проектах), может быть, там есть какие-то подводные камни… в любом случае, я считаю, что оно стоит того, чтобы хотя бы попробовать

miku-nyan commented 9 years ago

Поддержка андроида из коробки не в чистой IDEA, а в Android Studio. С таким же успехом можно скачать и сайта гугла "ADT Bundle", который суть Eclipse с уже установленным плагином. А вообще хз, пусть vortexwolf решает. Лично я считаю, что не нужно, во всяком случае пока. Во-первых, она ещё бета (и гугл официально предлагает использовать eclipse). Во-вторых, субъективно, свинговый интерфейс выглядит как говно, на ШГ просто невозможно смотреть (по крайней мере, в линуксе). Не может в ndk - другой вопрос (это пока не такая большая проблема, у нас нативная библиотека только для воспроизведения гифок, сторонняя).

magicgoose commented 9 years ago

Поддержка андроида из коробки не в чистой IDEA

таки уже и в чистой, я гарантирую это.

Во-вторых, субъективно, свинговый интерфейс выглядит как говно, на ШГ просто невозможно смотреть (по крайней мере, в линуксе).

ну, к этому привыкнуть легко со временем, зато то же автодополнение в идее в разы лучше. кстати, в OS X норм выглядит всё.

и да, дропать поддержку Eclipse никто не заставляет, я специально упомянул Gradle (вообще, это был бы самый цивилизованный вариант, т.к. можно и скриптом собирать + управление зависимостями и прочие ништяки, но его сложнее осилить)

miku-nyan commented 9 years ago

К вот этому привыкнуть? 151

miku-nyan commented 9 years ago

дропать поддержку Eclipse никто не заставляет я предлагаю окончательно и бесповоротно попячить Eclipse

Насчёт gradle можно подумать. А скриптом и так можно собирать, см. ant. Я так, собственно, свои сборки (которые x2ch) и собираю.

magicgoose commented 9 years ago

я предлагаю окончательно и бесповоротно попячить Eclipse

в смысле eclipse-specific файлы в репозитории

К вот этому привыкнуть?

можно менять шрифты в настройках идеи, и ещё, говорят, можно чинить антиалиасинг

magicgoose commented 9 years ago

Во-первых, она ещё бета

в About не смог найти слово beta ЧЯДНТ? screen shot 2014-09-26 at 3 28 28 pm

miku-nyan commented 9 years ago

152 В чистой IDEA, (если там есть поддержка андроида), скорее всего, тот же самый плагин. Гугл предлагает в первую очередь ADT Bundle, предупреждает, что Android Studio пока Beta

magicgoose commented 9 years ago

Там есть поддержка андроида. Опять же, никаких бет. screen shot 2014-09-26 at 3 51 34 pm А гугловцы могли тупо забить болт на Android Studio, но это не показатель.

vortexwolf commented 9 years ago

Идея не нужна, Eclipse лучше и официально продвигается гуглом в их ADT Bundle. Даже сотрудники гугла пользуются Eclipse. Gradle я не осилил, мне гораздо проще выбрать правой кнопкой мыши в контекстном меню "Export signed application" и через пару диалогов получить готовый apk.

magicgoose commented 9 years ago

Eclipse лучше и официально продвигается гуглом в их ADT Bundle. Даже сотрудники гугла пользуются Eclipse.

Они лахи просто… А ты пробовал хоть идею, или просто уверен, что ничего лучше Eclipse не может быть? Просто я раньше тоже так думал, пока не попробовал, хотя она тогда ещё даже не та была, что сегодня, было больше багов и подвисаний.

Gradle не такая сложная херь, в принципе могу помочь, чуток имел дело с ним, обращайся нужно 1 раз создать скрипты-описания проектов, и тоже всё в 1 действие будет, причём строго детерминированно, а не как в Eclipse, когда одни и те же действия работают через раз

vortexwolf commented 9 years ago

Мне не так важно что там лучше для других языков, но именно для Андроида нет ничего лучше Eclipse. С ним все просто: выбираешь в диалоге Import existing project, потом в контекстном меню Export APK и файл собирается из коробки, без написания каких-то дополнительных скриптов и установки плагинов. Вот именно эти важные вещи андроид студия не умеет, зато у них есть какие-то мифические рефакторинги и автокомплиты, без которых я вполне обхожусь. А еще в андроид студии очень бесполезный LogCat, у меня так и не получилось нормально увидеть логи с сообщениями и ошибками. В итоге, может эта андроид студия и лучше для обычной джавы, но точно не подходит для андроид-инфраструктуры.

magicgoose commented 9 years ago

С ним все просто: выбираешь в диалоге Import existing project, потом в контекстном меню Export APK и файл собирается из коробки, без написания каких-то дополнительных скриптов и установки плагинов.

IDEA умеет это (импортировать проект, и APK делать), если не веришь, могу скринкаст записать. причём, там это делается едва ли не проще…

А еще в андроид студии очень бесполезный LogCat, у меня так и не получилось нормально увидеть логи с сообщениями и ошибками.

ну это вообще пушка там есть это, и фильтры все те же самые есть, разница лишь в том, что тормозят меньше и нет спонтанных косяков с невозможностью скопировать текст, как это было в Eclipse. что значит "нормально увидеть"?

vortexwolf commented 9 years ago

Аналогичная функциональность там конечно есть, но в худшем исполнении. В эклипсе для меня нет никаких проблем, ни разу не видел мифических вылетов или невозможности копирования или что еще придумывают, в то время как в недоработанных бетах или сторонних неофициальных плагинах проблем точно будет гораздо больше.

Вот может когда-нибудь гугл закончит свою студию, сделает официальной и рекомендованной, напишет гайд по переходу, тогда можно будет и переходить. Но этого в ближайшее время не произойдет, разрабатывают с 2013 и до сих пор бета, фейл.

magicgoose commented 9 years ago

в то время как в недоработанных бетах

IDEA — вполне себе финальная, как и андроидный плагин, см. скриншоты выше.

Вот может когда-нибудь гугл закончит свою студию, сделает официальной и рекомендованной, напишет гайд по переходу, тогда можно будет и переходить.

А зачем, если в "голой" IDEA всё есть уже? И безо всяких гайдов всё ясно и понятно.
А на рекомендации гугла всем пофиг, они и сами их нарушают запросто… например, если вспомнить про эпичный спор на тему нужности/ненужности форсированного overflow menu. Не стоит думать о гугле, как о каком-то Б-ге, знающем ответы на все вопросы. :D

vortexwolf commented 9 years ago

Может и попробую потом, но если не осилю импорт проекта, значит не судьба. Тогда уж точно придется ждать официального релиза от гугла с инструкцией по переводу эклипс-проектов.

miku-nyan commented 9 years ago

С чего вообще весь бугурт? IDE всего лишь инструмент, не более. Каждый использует то, что ему больше нравится, наконец, привычнее. Кому-то может вообще удобнее работать в vim, кому-то в notepad.exe. В результате те же самые исходники. Зачем ты так форсишь IDEA здесь? Исходники (т.е. java классы, файлы ресурсов) одни, да пиши у себя хоть в Microsoft Visual Studio. Вся проблема в том, что по умолчанию в проекте IDEA папки не так расположены? Ну сделай симлинки. Или ты хочешь предложить внедрить 100500 библиотек с зависимостями, которые сможет разрулить только gradle? Или ещё что?

magicgoose commented 9 years ago

Ну, я и так могу идею использовать, благо импорт проектов eclipse там работает без проблем, просто мне кажется странным, что кто-то до сих пор мучается с eclipse, когда этого уже можно не делать

vortexwolf commented 9 years ago

Если папки по-другому расположены, тогда менять IDE нельзя. А с эклипсом никто не мучается, код пишется, файлы открываются, никаких проблем совсем нет.

magicgoose commented 9 years ago

Если папки по-другому расположены, тогда менять IDE нельзя.

IDEA пофиг на расположение, можно как угодно располагать. Можно даже иметь несколько корневых папок с кодом, и т.д. (вот она, гибкость, и зависть пользователей Eclipse) Поэтому переход был бы крайне лёгким, сами файлы с кодом и ресурсами трогать вообще не нужно для этого.

MarmaladeSky commented 9 years ago

Задам вопрос тут. У вас есть инструкция по сборке, коль вы не используете Gradle/Maven? И если нет, то как без лишней потери времени собрать проект или импортировать в любую IDE?

miku-nyan commented 9 years ago
android update project -p . && ant debug
MarmaladeSky commented 9 years ago

Благодарствую, совсем забыл про update (разве что еще --target TARGETNAME). Проект, кстати, без каких либо проблем импортируется в IDEA.

miku-nyan commented 9 years ago

target указан в project.properties: android-20. Возможно, в SDK не скачан пакет для этой версии API

kalyaganov commented 9 years ago

В Android Studio можно удобно редактировать ресурсы, все скомпановано. А по поводу Gradle, то там 1 раз настроил и забыл. Для сборки проекта просто нажать build. Версионность кода и приложения устанавливать тоже через скрипт сборки - меньше хлама в манифесте будет. 2014-09-16 16 01 10

vortexwolf commented 9 years ago

Ресурсы это просто xml-файлы, в блокноте тоже удобно редактировать. А Eclipse настраивается 0 раз и работает сразу. Пора закрывать этот вопрос, хватит с меня рекламы бета-версий.

magicgoose commented 9 years ago

бета-версий

ну чего ты заладил про беты, идея уже давно не бета

Ресурсы это просто xml-файлы, в блокноте тоже удобно редактировать

так же удобно, как и в Eclipse, ты хотел сказать? что ж, недалеко от правды. (trollface.png)

kalyaganov commented 9 years ago

Я сделал порт на студию. Там все работает, кроме Google analytics и тестов. Но тесты и раньше вроде не работали. Если появится желание, то можете переехать в студию.

Отправил реквест.

magicgoose commented 9 years ago

тесты частично не работали раньше, я создавал issue, всем пофиг было.

miku-nyan commented 9 years ago

все работает, кроме Google analytics и тестов Files changed 500

Лол.

vortexwolf commented 9 years ago

Да, я тоже офигел от 500 файлов. Особенно если представить, что на работе на такой change list пришлось бы кому-то делать review.

тесты частично не работали раньше, я создавал issue, всем пофиг было.

Надо бы переделать, но тестировать особо нечего, т.к. все эти activity, adapter, asynctask нормально не потестируешь.

magicgoose commented 9 years ago

там какая-то более мелкокалиберная пенисня тестировалась, емнип а вообще в приложении такого толка действительно мало чего есть смысл тестировать, если ты не маньяк тдд

kalyaganov commented 9 years ago

Попытка номер 2.

rozhok commented 9 years ago

Сделали поддержку грейдла же, нет?

magicgoose commented 9 years ago

Android Studio рулит, как бы, уже. Я начинал 1 проект, там всё просто заебись работает! И благодаря использованию gradle, можно легко добавить плагин retrolambda и писать на подмножестве Java 8 (то есть, Java 7 + лямбды + ссылки на методы. и наверное минус try with resources — это не проверял пока) https://github.com/evant/gradle-retrolambda это бомба!

то есть, скажем, можно написать что-то типа

…
yobaButton.setOnClickListener(this::handleYobaClick);
…
void handleYobaClick(View sender) {
    …
}

или

yobaButton.setOnClickListener(v -> doSomething());

ну и всё, что связано с андроидом, в андроид студии тоже сделано уже очень круто.

kalyaganov commented 9 years ago

Он лямбы после компиляции убирает? В каком-нибудь большом проекте использовалось уже? Есть подводные камни? Если будет генерировать отчет об ошибках, то правильно номер строки в отчете определяется?

magicgoose commented 9 years ago

После компиляции остаются только class-файлы совместимые с Java 6. Большие проекты именно на Java не делал пока. Насчёт отчётов об ошибках не знаю, я не делаю ошибок™.

vortexwolf commented 9 years ago

Установил на рабочий макбук Андроид студию, попробую продолжить разработку на ней. Но структуру проекта менять не буду, все останется через gradle файлы.

magicgoose commented 9 years ago

все останется через gradle файлы

так это и есть цель, как бэ?

magicgoose commented 9 years ago

@Kalyaganov retrolambda уже использую в большом проекте (точнее, даже двух), всё норм.

Quireg commented 7 years ago

Работаем с градлом.