Всем привет! Я новичок в java. Хочу написать простое консольное CRUD приложение, а потом создать для него web интерфейс. С этими задачами я справлюсь, но я не знаю, как связать фронтенд и бэкенд. Полный ноль в этой теме. Как можно реализовать простейший функционал - нажатие кнопки на веб-странице отправляет запрос на сервер, там что-то происходит, и результат отправляется обратно на веб-страницу. С помощью каких инструментов можно реализовать такой функционал? С чего начать копать эту тему?
Andrew Karev
38 уровень
Как связать Backend и Frontend?
Обсуждается
Комментарии (13)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anonymous #3303140
22 апреля, 16:51
Ютуб твой друг. Включи какой-нибудь туториал в духе «пишем простое spring boot приложение», там все расскажут пошагово.
А так вопрос слишком абстрактный, зависит от того, что у тебя за бэк и что за фронт.
0
Andrew Karev
22 апреля, 17:00
Да, как я понял, без спринга никак. Мне до него ещё долго идти, так что видимо придётся пока забить на фронтенд и работать с консолью) Ну или изучить на базовом уровне уже сейчас, если это не так сложно. Лишним не будет, я думаю
0
Anonymous #3303140
22 апреля, 20:05
Если кор знаешь, то можно начинать разбираться. На непонятных моментах будешь отступать в сторону и разбираться с ними.
Спринг - это не фронт, а бэк. Морду к нему можно любую прикрутить. А спринг - это чтобы в несколько классов можно было реализовать службу, слушающую веб-адрес, связать её с репозиторием для сохранения в бд.
+1
Денис Enterprise Java Developer
23 апреля, 11:47
Можно и без спринга, вопрос нужно ли? Работу с базой можно организовать на чистом JDBC, работу по сети через сокеты или даже вебсокеты, чтобы не было CORS, в принципе это даже не слишком сложно.
Что до спринга, важно понимать что там не происходит никакой магии, все что там есть и работает написано теми же инструментами что есть в распоряжении любого другого разработчика, а значит ты можешь написать свой спринг при желании. Не знаю на сколько это целесообразно, но если интересно, то почему нет?
Если же непосредственно веб тебе не нужен как таковой, а просто нужен UI, то посмотри в сторону Swing. Жизнь твоя станет проще :)
+2
Andrew Karev
23 апреля, 12:00
Спасибо за ответ. Да, мне нужен просто какой-то UI, чтобы всё не так грустно было) Наверное воспользуюсь Swing, но ещё думал в сторону JavaFX
0
Денис Enterprise Java Developer
23 апреля, 12:44
Тут принципиальной разницы нет, выбирай что тебе понравится больше. Мне Swing нравится тем что он идёт в комплекте с JDK, а Java FX это внешняя зависимость.
0
KIRAExpert
23 апреля, 12:45
Тут есть небольшой гайд
+1
Anonymous #3303140
24 апреля, 08:28
До восьмой джавы включительно fx был частью jdk.
И имхо, я бы смотрел в сторону веб-интерфейсов по сравнению с отдельными окнами. На мой взгляд это актуальнее. Фреймворков с низким уровнем входа много, и для некоторых даже не нужны другие языки. Например, для vaadin.
https://www.youtube.com/watch?v=bxy2JgqqKDU
0
Денис Enterprise Java Developer
24 апреля, 09:23
Все относительно, если человек учит свой первый язык, а его цель просто пощёлкать кнопочки, то учить еще три языка и фреймворк к ним я смысла не вижу. Если решит идти полноценно в фуллстек это другой вопрос конечно. К счастью этим мир Java не заканчивается.
Что до восьмой версии... ну с тем же успехом можно писать и на 7й и на 6й, но зачем? Даже энтерпрайз уже начал переползать на 17ю, а это о чём то да говорит, если вспомнить когда она вышла :)
0
Стас Пасинков Software Developer в Zipy Master
24 апреля, 22:13
я б радив одразу дивитися в сторону html/css/js
то все-одно доведеться вчити) то чому б не зараз?) принаймні, на базовому рівні, щоб розмістити кнопочки і прив'язати їм якісь event-listener-и, які будуть викликати якусь js функцію, де ви будете просто відправляти XMLHttpRequest-и на сервер і дивитися шо там сервер їм відповів і потім відмальовувати те на сторінці
зараз звучить може й складно, але як тільки розберетеся і зробите перший робочий варіант - далі вже буде просто)
0
Денис Enterprise Java Developer
25 апреля, 08:48
> то все-одно доведеться вчити
Я б не був таким категоричним :) За 4 останніх роки не торкнувся жодної з цих технологій по роботі. Як мінімум є варіанти.
0
Стас Пасинков Software Developer в Zipy Master
25 апреля, 21:57
ну я ж кажу за джунів.
джун з палкими очима, але із знаннями тільки джава-кору - навряд влаштує роботодавця)
сіньйор-помідор із знанням джави і без реального досвіду у html/css/js - найбільш вірогідно шо влаштує (якщо це не фулстек), просто бо зможе то вивчити у прийнятні строки)
звісно, шо проекти різні є, десь взагалі це не треба. десь на чомусь тіпа ваадіна може пілять, не знаю. але навіть тут щоб розуміти як воно генериться все - було б непогано мати якісь хоча б базові знання із того, у шо воно потім перетворюється.
той же jsoup чи selenium, щоб нормально із ними працювати - треба шаріть за селектори і всякі xpath. знаючи за якими принципами воно формується на сторінці - вже буде простіше писати java код для роботи із отим всім.
js - окрема тема, згоден. але синтаксис там майже такий же. принципи трохи інші, але в то можна і не залазити перший час (ну тіпа у всякі там замиканія і все таке). написати простенький запит на бек можна і без всього того.
0
Денис Enterprise Java Developer
25 апреля, 22:16
Я тоді на джуна й шов, досі не чіпав це жахіття чому й радий :) Хоч я й пишу бек для... ну назвемо це вебом, я все ж таки пишу саме бек, тобто мікросервіси, опрацьовую великі обʼєми данних, займаюся інфраструктурними питаннями тощо, з фронтом працювати нема потреби, цим займається окрема команда. І так вже декілька проєктів змінив :) Трохи писав UI для себе, у томи числі з використанням вебу - хай бог милує.
Звісно що знання технології як такової тобі дає бонус на ринку, але то теж треба обережно, почнеш вчити все й одразу - нічого не вивчиш взагалі, така моя думка :)
Доречі ані жейсуп ані селеніум не використовував по роботі теж, хоча перший задіяв у пет проєкті.
Що до JS'a він як і Java має С-подобний синтаксис, але як на мене це пастка, бо окрім цього взагалі нічого нема спільного, сама парадігма мови відрізняється. Я колись був вимушений ним оперувати то намагався зробити з цього жахіття щось схоже на Java, мігрував навіть декілька класів типу СтрінгБілдера, але потім забив та почав користуватись "як задумано автором".
+1