LINUX.ORG.RU

Держите мой HelloWorld на Java

 , ,


2

1

Собственно вот - мое первое приложение на Java и первый проект на GitHub (до этого писал только Web и гитхабом не пользовался)

Приложение - гуевый Wake-On-Lan, который умеет сохранять список компьютеров и позволяет выбрать сетевой интерфейс для отправки «магического» пакета

Почему я решил написать это приложение

Дело в том, что:

1) Я, являясь обладателем вендопланшета (не арм), не нашел приложений для WakeOnLan, которые бы корректно работали под офтопиком, а точнее нормально слали бы пакет, если в винде больше одного сетевого интерфейса

2) Хотел попрактиковаться в разработке на Java и получить комментарии многоуважаемых лоровцев, так как, повторюсь, это моя первая не Web разработка и я хотел бы выслушать критику насчет правильности реализации и понимания мной принципов построения графических приложения

Скриншот приложения: https://imgur.com/a/TyCxu

Репозиторий Github: https://github.com/r0ck3r/WoL

★★★★★
Ответ на: комментарий от EXL

Да, спасибо за ответ. GUI переверстаю по вашему совету, спасибо!

Насчет JavaFX знаю, просто еще не дошел до него - учу Java по Г. Шилдту, про SWT не знал - полистаю

Благодарю!

r0ck3r ★★★★★
() автор топика
Ответ на: комментарий от EXL

JavaFX. Если выбирать между swt и свингом, я бы выбрал свинг (пусть у него и упоротые layout-ы), а для swt нужно таскать нативные библиотеки.

GblGbl ★★★★★
()
Последнее исправление: GblGbl (всего исправлений: 1)

1) GUI на джаве для десктопа? Какой сейчас год?

2) В markdown есть тег «код».

3) Первые три строчки «Compiling» не нужны. Люди знаю как клонировать репозиторий.

4) Compiling -> Build(ing)

RazrFalcon ★★★★★
()
Ответ на: комментарий от r0ck3r

Шилдту

Не знаю, как на счет Java, но книги по С++ этого товарища переполняет ересь. Аккуратней.

А по теме - теплая ламповая gui-тулза, спасибо, я прямо проникся. Правда в код не смотрел :) И EXL спасибо за проработку гуя, тоже понравилось.

Upd. Я понял, интерфейс без gtk, почти без плоскоты, меня зацепил

Deleted
()
Ответ на: комментарий от cdshines

Нельзя, gui это всегда боль и мучения.

Javafx поддерживает отдельное декларативное описание разметки в xml (подобно xaml у wpf), но там я подозреваю свои проблемы (в wpf например простые вещи делаются просто, а вот как начинаются сложные - заигрывания со стилями, сложная логика с mvvm - вот там ад)

Midael ★★★★★
()
Последнее исправление: Midael (всего исправлений: 2)

This is a simple GUI application. The only thing it does is send a magic packet to wake your PC up if it supports Wake-On-Lan

anonymous
()

это моя первая не Web разработка

Хоть кто-то расширяет кругозор не в сторону веба, а наоборот. Пустячок, а приятно.

hobbit ★★★★★
()

Ляцензию поставь, умник.

в винде больше одного сетевого интерфейса

Такое на десктопах вообще бывает?

По коду: нормуль, все по дефолту.

Valman_new
()
Ответ на: комментарий от Deleted

с Java у него вроде проблем нет, хотя ошибки и встречаются, но имея голову и IDE понять можно

r0ck3r ★★★★★
() автор топика
Ответ на: комментарий от Valman_new

Ляцензию поставь, умник.

поставлю, спасибо

Такое на десктопах вообще бывает?

ну у меня на планшете так бывает. Дело в том, что один из интерфейсов виртуальный, который нужен для разработки

r0ck3r ★★★★★
() автор топика

Во-первых брось каку^Wтруп^WSWING. Во-вторых оформи проект в maven или gradle. В-третьих, java - скорее не про десктопные приложения.

bytecode ★★
()
Ответ на: комментарий от tyamur

не знаю. Это будет правильней?

r0ck3r ★★★★★
() автор топика
Ответ на: комментарий от EXL

JavaFX не входит в OpenJDK8. Только Oracle JDK. А значит применение этого фреймворка ограничено теми системами, где есть блобы от Oracle.

На FreeBSD, к примеру, приложения на JavaFX не работают, либо я не знаю, как это сделать с OpenJDK, не используя линуксовый проприетарный порт.

iZEN ★★★★★
()

а мне не нравится god object Controller и в частности его updateHostComponents()
ну прям не нравится, что вроде махровый MVC на фортране

system-root ★★★★★
()
Ответ на: комментарий от Deleted

Не знаю, как на счет Java, но книги по С++ этого товарища переполняет ересь. Аккуратней.

С Java у него тоже не всё хорошо. Я рекомендовал бы сжечь. Возможно, даже, самого господина Ш.

korvin_ ★★★★★
()
Ответ на: комментарий от RazrFalcon

1) GUI на джаве для десктопа? Какой сейчас год?

У нас в 2017 даже на жаваскрипте со встроенным браузером делают очень популярные приложения. Жава тут вообще образец минимализма будет. Твои претензии как раз лет на 10 запоздали.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

При чём тут js к джаве? Ну и «очень популярные» - перебор. Полярны только slack и vscode. Atom уже слился. Остальное и не взлетало.

RazrFalcon ★★★★★
()
Ответ на: комментарий от Im_not_a_robot

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

RazrFalcon ★★★★★
()
Ответ на: комментарий от RazrFalcon

При чём тут js к джаве?

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

Ну и «очень популярные» - перебор. Полярны только slack и vscode. Atom уже слился. Остальное и не взлетало.

Да конечно. Сейчас на другом уже и не пишут.

Legioner ★★★★★
()
Ответ на: комментарий от EXL

Есть же SWT и JavaFX. Swing и AWT давно в прошлом.

Слова великого властителя Прогресса.

dzidzitop ★★
()
Ответ на: комментарий от dzidzitop

Maven в данном случае лучше (его можно настроить на offline-работу и использование сторонних библиотек из каталога проекта). Gradle сверхизбыточен за счёт пухлого рантайма. Ant не моден - лучше него только .cmd.

iZEN ★★★★★
()
Ответ на: комментарий от Legioner

Сейчас на другом уже и не пишут.

Тяжёлая ситуация в вашей вселенной.

RazrFalcon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.