Alixx
@Alixx

Мобильный клиент для сайта на php (laravel)?

Есть сайт:
бекэнд - php (а именно laravel 5.4)
бд - mysql
веб-сервер - apache
фронтэнд - html (шаблоны blade), css, js, ajax
А также в будущем будут redis (для чата и не только), comet. Во фронтэнде много анимации css/js(+ таймеры), картинок, много ajax запросов на различные расчёты (производящиеся на laravel). В общем, не просто вывод страниц с информацией, а движок с веб-интерфейсом. Теперь же появилась надобность в мобильном интерфейсе - мобильном клиенте (и android и ios). Мобильная версия должна сильно отличаться от веб-версии - добавятся жесты, изменится расположение элементов, картинки другие и пр.
Вопрос в том, можно ли дописать ко всему вышеперечисленному уже имеющемся мобильный клиент? Чтобы движок также остался на php? Просто разделять откуда приходят запросы и куда уходят сообщения - в браузер или в мобильный клиент? Или для веба свой движок (на php), а для мобилок свой (на чём, кстати?)?
P.S.: есть опыт работы с созданием приложений на C++ для windows, а с мобилками работать вообще не приходилось.
  • Вопрос задан
  • 1925 просмотров
Пригласить эксперта
Ответы на вопрос 3
iLLuzor
@iLLuzor
Java, Kotlin, Android Developer
Клиента вообще не должно волновать на чём написан сервер. Всё, что ему нужно знать - как отправлять запросы и в каком виде приходят ответы.
Напишите отдельный API и работайте через него.
Ответ написан
@Narts
Копайте в сторону API

Или для веба свой движок (на php), а для мобилок свой (на чём, кстати?)

если нативные приложения, то swift/obj-c под ios, java под android
Ответ написан
402d
@402d
начинал с бейсика на УКНЦ в 1988
грубая аналогия. на основном домене лежит только статика .
PHP запускается на субдомене api. Из скрипта тебе можно отдавать только json .
Для манипулирования данными реализуешь crud .
Входные параметры контролерам нужно получать через REQUEST_URI и/или
json_decode(file_get_contents('php://input')
$_GET и $_POST, $_FILE забудьте про них. Нативные для java запросы обрабатываются как указал выше.

Т.е. для сайта фронт получается html,js.css - т.е. вся отрисовка интерфейса и полученных данных задача
фронта / приложения. А бакенд только предоставляет данные.

аналог запроса из приложения на javascript
var json = JSON.stringify(cloneCommand);

        // готовим ajax запрос
        var r = new XMLHttpRequest();
        r.open("POST", connection.urlServer + 'Execute/sync', true);
        r.responseType = 'json';
        r.setRequestHeader("Authorization", connection.auth);
        r.onload = function () {
            var json = r.response;
            // костыль для IE11
            if ('string' === typeof(json)) {
                json = JSON.parse(/** @type string */json);
            }
            successHook(json);
        };
        r.onerror = function () {
            errorHook(r, 'ajax error');
        };
        r.send(json);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы