Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
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
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2016, 17:15
Ответы с готовыми решениями:

Приложение с БД - посоветуйте архитектуру
Два вопроса , они родственные между собой: Пишу приложение ну допустим "Смешные историй" , в котором каждый день будут добавляться...

Клиент серверное приложение
Разрабатываю клиент серверное приложение, отправка текста в одну сторону, от клиента серверу, аля чат. Подскажите, как реализовать...

Клиент-серверное приложение
Всем привет, Пытаюсь написать клиент-серверное приложение для android. Логика следующая: android устройство подключается к серверу,...

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
Цитата Сообщение от Tilesto Посмотреть сообщение
Клиент с Android смартфона посылает запросы на сервер о том или ином товаре, серверная часть обрабатывает запрос, обращается к БД, и отправляет обработанные данные обратно клиенту.
И какой этап этой цепочки вызывает трудности?
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
Цитата Сообщение от Tilesto Посмотреть сообщение
запрос браузера, это какой именно? Получить данные с БД или еще что? Простыми GET POST php ?
Для начинающего слишком тяжелый проект выбрали.
Для начала попробуйте создать тестовый сайтик на 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
Цитата Сообщение от Tilesto Посмотреть сообщение
Просто хочется сделать все сразу и красиво
Лучше день потратить и научиться летать, чем всю жизнь на брюхе ползать
Я не призываю каждого писать собственные фреймворки и, тем более, свой язык программирования (что в принципе можно сделать), но надо все же знать устройство велосипеда, даже не собирая его из запчастей.

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

Кстати о защите кода движка сайта. Готовые решения, типа джумлы, ломаются на раз-два. Ваш же уникальный код, если в нем нет грубейших ошибок по безопасности, вряд ли кто-то сломает. Профи на это не станут тратить время, а школоте он окажется не по зубам.
1
7 / 7 / 0
Регистрация: 14.05.2015
Сообщений: 145
13.11.2016, 13:16  [ТС]
Alexvp, понял, спасибо за совет) Афоризм хороший)
Буду разбираться с серверной частью (уже начал))
Тему можно close)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.11.2016, 13:16
Помогаю со студенческими работами здесь

Клиент-серверное приложение
Всем привет!) Возникла такая проблема есть серверное приложение(на Java) и есть к нему клиент(так же на Java). Однако при написании...

Клиент-серверное приложение
Идея такова: Мы со смартфона перехватываем handshake от какой-то wifi сети (это происходит с помощью другого приложения) и передаем его на...

Клиент-серверное приложение android
Каким образом можно создать приложение для передачи данных через интернет? Одно устройство выступает в роли сервера, а второе - клиент.

Простое Клиент-Серверное приложение
Добрый день, начал осваивать андройд, и застопорился на некоторых моментах, вернее, Оно почему-то не работает, просто не коннектит к...

Клиент-серверное приложение с чатом
Добрый вечер! Собираюсь писать многопользовательское клиент-серверное приложения для Android. Проблема в том, что я не знаю как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Реалии
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
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru