|
7 / 7 / 0
Регистрация: 14.05.2015
Сообщений: 145
|
|
Клиент-серверное приложение - посоветуйте архитектуру10.11.2016, 17:15. Показов 4028. Ответов 16
Метки нет (Все метки)
Всем доброго времени суток.
Пишу клиент-серверное приложение с нуля, поэтому вопросов куча) Это уже вторая тема (первая Клиент-сервер, Django(Python), MySQL и Java (выбор)) Собственно - что как куда. Пытаюсь найти в инете инфу, что-то сделать. Инфа везде почти одна и та же, но не получатеся. То мучался с import org.apache, долго мучался. Потом с HttpUrlConnection, тоже мало понятного. Сегодня нашел более менее понятный пример, но конкретно слег на AsyncTask-ах. Вроде как сделал адекватный сокет на клиенте, но на сервере сделать не смог (ну это мне в веб-форум). А потом увидел эту статью. И тут как раз обо***ли то, через что я пытался собственно говоря сделать, и набил не один десяток шишек. В этом процессе чуть не умерло желание что-то вообще делать. На дворе 2016, многие уроки написаны за 2010-12 и тд. А этот срок для программирования просто огромный. Уже много чего есть нового, много чего уже нет. Прошу Вашей помощи, форумчане - помогите выбрать через что вообще делать. Может есть готовые решения/фреймворки и т.д. Повторюсь - делаю клиент-серверное приложение, по типу интернет-магазина. Клиент с Android смартфона посылает запросы на сервер о том или ином товаре, серверная часть обрабатывает запрос, обращается к БД, и отправляет обработанные данные обратно клиенту. P.S. В статье написано про Retrofit. Через него делать? Или может еще какие варианты?
0
|
|
| 10.11.2016, 17:15 | |
|
Ответы с готовыми решениями:
16
Клиент серверное приложение Клиент-серверное приложение |
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
|
| 10.11.2016, 19:50 | |
|
я пользуюсь AcyncHttpClient, найди на гитхабе, проще простого в освоении
Добавлено через 1 минуту сервер поднимать и sql базу это уже в другую ветку форума
0
|
|
|
7 / 7 / 0
Регистрация: 14.05.2015
Сообщений: 145
|
|
| 10.11.2016, 20:05 [ТС] | |
|
ExFau$t, ну на счет сервера то да, я понимаю что мне не сюда)
А русская документация етсь по этому AcyncHttpClient? А то, думаю, будет непросто в освоении хд
0
|
|
|
314 / 257 / 81
Регистрация: 31.10.2016
Сообщений: 619
|
|
| 10.11.2016, 20:50 | |
Сообщение было отмечено Tilesto как решение
Решение
Если по правильному, то изучите курс лекций. Они современные, 2015-2016 года.
https://docs.google.com/docume... SS9M/edit# Если хотите, то вот пример такого приложения https://github.com/ribot/android-boilerplate Некоторые его части можно выкинуть. Но все равно, суть в том, что создавать вы будете это приложение долго. Возможно вам стоит обратить внимание на конструкторы приложений. К сожалению ими не пользовался, но такие есть.
0
|
|
|
7 / 7 / 0
Регистрация: 14.05.2015
Сообщений: 145
|
|
| 10.11.2016, 20:57 [ТС] | |
|
demixdn, тоже уже начинаю думать о конструкторах, хотя очень скептически к ним отношусь. А к кроссплатформенным так в два раза больше) Вообще реально ли в них сделать рабочий продукт, который в дальнейшем можно будет использовать в коммерческих целях? Или для такого обязательно надо писать "руками"?
А за ссылку спасибо, буду изучать)
0
|
|
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
|
| 10.11.2016, 21:48 | |
|
Ничего там сложного нету, самое трудное - это пуш уведомления, но сейчас тоже делается достаточно просто. Русскую документацию можешь не искать, даже проекты, разрабатываемые российскими стартаперами, имеют только англоязычную документацию, думаю не надо объяснять почему. Если с базой всё так плохо, онлайн переводчик в помощь.
1
|
|
|
7 / 7 / 0
Регистрация: 14.05.2015
Сообщений: 145
|
|
| 10.11.2016, 22:27 [ТС] | |
|
ExFau$t, ок спасибо, погуглю. С английским (куда без него, тем более в программировании) дела более менее нормально. Завтра посмотрю про AcyncHttpClient. А то гитхаб не загружается, не знаю почему(
Так гуглю, но не совсем понимаю, пока руками не потрогаю)
0
|
|
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
|
| 10.11.2016, 22:53 | |
|
Лучше сервак поставь сначала, чтобы было куда запросы слать, гет запросы можно с сервисов погоды взять, например, или геокод, а вот пост - нет.
0
|
|
|
7 / 7 / 0
Регистрация: 14.05.2015
Сообщений: 145
|
|
| 10.11.2016, 23:28 [ТС] | |
|
ExFau$t, да, это проблемка хд) Хостинг есть, все есть, осталось только все написать )
0
|
|
|
100 / 79 / 9
Регистрация: 03.08.2014
Сообщений: 447
|
|
| 12.11.2016, 20:26 | |
|
0
|
|
|
7 / 7 / 0
Регистрация: 14.05.2015
Сообщений: 145
|
|
| 12.11.2016, 21:38 [ТС] | |
|
Alexvp, в самом понимании - нет трудностей. Трудности в реализации. Так как никогда этого не делал, не знаю даже с чего начать. Вроде что-то нарыл, что нужно/можно делать через сокеты. Мол в клиенте прописать ip сервера и порт, это еще вроде как понятно как сделать. А на сервере нужно написать процедуру (как я понял), которая будет "слушать" этот порт и в случае чего обрабатывать данные. Вот это я понятия не имею как сделать. К тому же на сервере должен, как я понимаю, стоять движок. Делать на WP и т.д. не хочется, а если буду писать с нуля (в ютубе есть поэтапное создание на php), то потом все равно завалюсь на этих сокетах. Ну тут мне надо уже плодить темы в веб-части этого форума)
Как-то так Да и на клиенте как делать, через что. Почитал лекцию (кидали выше). Лоадеры, АсинкТаск-и, и прочая лабуда, насколько я понял, сложна в понимании и еще и мало актуальна. Сейчас читаю RxJava (RxAndroid) и потом буду Retrofit. Тоже понятия не имею с чего начать, хотя общие принципы работы вполне понятны.
0
|
|
|
100 / 79 / 9
Регистрация: 03.08.2014
Сообщений: 447
|
|
| 12.11.2016, 21:47 | |
|
А в чем вы специализируетесь? Или это ваш первый проект?
Я бы начал писать с серверной части, например, на php + mysql. Литературы тьма, трудностей не должно быть. Когда научитесь отправлять запрос с браузера и получать ответ от сервера, то переходите к этой процедуре на java. На память, там кода всего строчек 25-30 без всяких библиотек.
1
|
|
|
7 / 7 / 0
Регистрация: 14.05.2015
Сообщений: 145
|
|
| 12.11.2016, 23:41 [ТС] | |
|
Alexvp, запрос браузера, это какой именно? Получить данные с БД или еще что? Простыми GET POST php ?)
Я ни на чем не специализируюсь, только недавно решил связать свою жизнь с программированием) Стажируюсь как C# программист + Oracle, а для себя занимаюсь немного веб-девом, немного пишу на андроид. Возникла неплохая идея для приложения, решил сделать. Даже если не получится/не выгорит, то будет опыт, так как клиент-сервер - это маст хэв в наше время (имхо). Ну ок, я Вашу мысль понял) Сам к ней склоняться начал. Буду разбираться с серверной частью, уже только потом к клиентской перейду (и полягу на реактивном программировании))).
0
|
|
|
100 / 79 / 9
Регистрация: 03.08.2014
Сообщений: 447
|
||
| 13.11.2016, 08:41 | ||
|
Для начала попробуйте создать тестовый сайтик на php, в котором будет одна форма с одним полем и кнопкой отправки методом, например, POST. Так же сделайте скриптик обработки с занесением в базу данных и передачей обратно в браузер результата занесения. Это позволит вам понять в живую процессы в связке клиент-сервер. Когда разберетесь, потом начнете накручивать разные штучки, в том числе клиента на андроиде. И не гонитесь за библиотеками, все это можно сделать несколькими строчками кода.
0
|
||
|
7 / 7 / 0
Регистрация: 14.05.2015
Сообщений: 145
|
|
| 13.11.2016, 12:35 [ТС] | |
|
Alexvp, ну все не так уж темно хд) На одном из своих простых сайтов реализовал ситему пользователей, т.е. регистрацию и аутентификацию (юзеры конечно в БД). Поэтому начальные представления есть)
За библиотеками гонюсь - объясню почему. Просто хочется сделать все сразу и красиво (знаю что это неправильно, но пока избавиться от такого подхода не могу). Например. На ютубе есть пошаговые понятные уроки, как написать свой движок сайта на php. Но если я его напишу, то мне придется потом писать защиту и т.д. и т.п. А если использовать готовые рещения, такие как WordPress, Joomla или еще то, то там уже все это есть, нужно лишь разобраться как это все работает. Т.е. легче купить велосипед по частям и собрать его, чем самому делать его с нуля (отливать металлические части, делать колеса и т.п.). Или другой пример, на стажировке сказали занести объекты в БД (ORM). Сам мучался, что-то реализовывал несколько дней/недель, а потом всю мою работу сделали за 5 минут в EntityFramework. Как бы я, грубо говоря, писал свой EF с нуля, а зачем, если он уже написан и гораздо лучше моего варианта)
0
|
|
|
100 / 79 / 9
Регистрация: 03.08.2014
Сообщений: 447
|
||
| 13.11.2016, 13:09 | ||
![]() Я не призываю каждого писать собственные фреймворки и, тем более, свой язык программирования (что в принципе можно сделать), но надо все же знать устройство велосипеда, даже не собирая его из запчастей. Но не настаиваю, каждый в жизни выбирает свои грабли. Мне проще в клиент-серверных приложениях самому написать код, чтобы понимать и контролировать каждый шаг. А вот для вспомогательных вещей, например, работа с камерой, я вполне использую библиотеки. Кстати о защите кода движка сайта. Готовые решения, типа джумлы, ломаются на раз-два. Ваш же уникальный код, если в нем нет грубейших ошибок по безопасности, вряд ли кто-то сломает. Профи на это не станут тратить время, а школоте он окажется не по зубам.
1
|
||
|
7 / 7 / 0
Регистрация: 14.05.2015
Сообщений: 145
|
|
| 13.11.2016, 13:16 [ТС] | |
|
Alexvp, понял, спасибо за совет) Афоризм хороший)
Буду разбираться с серверной частью (уже начал)) Тему можно close)
0
|
|
| 13.11.2016, 13:16 | |
|
Помогаю со студенческими работами здесь
17
Клиент-серверное приложение Клиент-серверное приложение Клиент-серверное приложение android Простое Клиент-Серверное приложение Клиент-серверное приложение с чатом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|