За последние 24 часа нас посетили 22842 программиста и 1242 робота. Сейчас ищут 753 программиста ...

php для мобильных?

Тема в разделе "Прочие вопросы по PHP", создана пользователем miltorg, 18 мар 2020.

  1. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Мне как то совершенно ясно было, что мобильные будут двигаться в сторону того, чтоб всё размещать в облаке. Но это происходит очень медленно и через попу. - Прикрутили к мобильным js и через него читают Базу данных. Выдумывают кучу разных js фреймворков для общения с базой. Выдумали даже Reks.
    Собственно мой вопрос в этом. Везде есть интернет. - Значит везде можно использовать php в полном объёме. Почему это не развивается, а идёт куда то в бок?
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.824
    Симпатии:
    738
    Адрес:
    Татарстан
    Товарищ до сих пор не понял в чем разница между js и php?
    Тогда вы не стоите своей подписи...
     
  3. ElisDN

    ElisDN Активный пользователь

    С нами с:
    13 фев 2018
    Сообщения:
    605
    Симпатии:
    130
    В мобильнике и браузере:
    - Мобильные приложения пишут на Swift/Kotlin или HTML+JS.
    - Интерактивный фронтенд для браузера пишут на HTML+JS.
    - Для локального хранения используют LocalStorage и SQLite.

    В облаке:
    - Код с логикой сервера пишут на PHP/Java/Go/JS.
    - Для хранения используют базы MySQL, PostgreSQL, Mongo.

    Клиент с сервером общаются через API данными в JSON.
     
    #3 ElisDN, 18 мар 2020
    Последнее редактирование: 18 мар 2020
  4. ElisDN

    ElisDN Активный пользователь

    С нами с:
    13 фев 2018
    Сообщения:
    605
    Симпатии:
    130
    В итоге:

    Хранение и обработка данных производится на сервере (в облаке) на PHP.
    Интерактивное отображение производится на клиенте (в браузере или в приложении) на JS.
     
  5. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Я хотел поговорить и порассуждать - а мне тут повторили прописные истины.

    Вот смотрите. Есть сайт на php. А приложение - это встроенный браузер. Я уже неоднократно делал такое.
    Я думал что в эту сторону всё и пойдёт.
    --- Добавлено ---
    И тогда не нужно устраивать плясок с бубном вокруг соединения JS с базой.
     
    #5 miltorg, 18 мар 2020
    Последнее редактирование: 18 мар 2020
  6. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.824
    Симпатии:
    738
    Адрес:
    Татарстан
    причем тут тогда php для мобильных??? php он на сервере, да и неважно php или что другое

    что именно туда пойдет?

    Хочешь так делать - делай, никто не запрещает.

    у JS в чистом виде и нет соединений с базой, только у серверных - Node.JS
     
  7. ElisDN

    ElisDN Активный пользователь

    С нами с:
    13 фев 2018
    Сообщения:
    605
    Симпатии:
    130
    Просто JS можно использовать не только в браузере. Ещё на нём же можно программировать серверы вместо PHP.

    JS из браузера никак не может напрямую подключиться к БД на сервере. А только по API запросив Ajax-запросом данные с сервера у PHP, которые достанет их из БД и вернёт в JSON-формате.

    Библиотеки для подключения к БД из JS нужны только серверному JS, когда сам сервер написан на JS вместо PHP.
     
  8. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Вы меня вообще не понимаете? Я хочу обсудить почему для мобильных устройств не применяется php на сервере Плюс приложение с встроенным браузером.
    Почему? Что в этом плохого?
    Сейчас Везде есть интернет.
    --- Добавлено ---
    Не только по API.
    И отдаст - что захочешь и в каком захочешь формате.
     
  9. ElisDN

    ElisDN Активный пользователь

    С нами с:
    13 фев 2018
    Сообщения:
    605
    Симпатии:
    130
    Во-первых, для этого уже есть сам браузер. Нет смысла делать отдельное приложение-браузер. Проще просто добавить ярлык сайта на рабочий стол смартфона.

    Во-вторых, не всё можно сделать просто из браузера. Многие системные возможности из браузера недоступны.

    Во-третьих, есть другие языки программирования с готовыми библиотеками для iOS и Android, которыми удобнее и производительнее программировать интерфейс мобильного софта, чем имитировать это на CSS и jQuery.
     
  10. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Не проще. Точнее клинту хочется именно приложение. Я даже для форума писал именно приложение.
    --- Добавлено ---
    А вот это интересно. И не понятно. Из JS - доступны, а из браузера с JS - нет?
    --- Добавлено ---
    ??? То есть вы не знаете что сейчас есть программы которые из JS+HTML делают сразу и быстро приложения для мобильных? И кстати и для Дисктопа тоже. Под Виндос. А под Линукс - не пробовал.

    Вот я и поговорил... :-(
    Всё всем рассказал. А нового ничего не услышал. Тут спецов вообще нет?
     
    #10 miltorg, 18 мар 2020
    Последнее редактирование: 18 мар 2020
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.752
    Симпатии:
    1.322
    Адрес:
    Лень
    Нету. Свободен.
     
  12. ElisDN

    ElisDN Активный пользователь

    С нами с:
    13 фев 2018
    Сообщения:
    605
    Симпатии:
    130
    Да, есть простые поделки для сразу-и-быстрокодинга вроде Cordova и Electon на JS, которые это умеют. Но:
    И, как я и сказал, в любой такой JS+HTML всё надо будет рисовать и верстать на CSS и программировать весь интерактив вручную на том же JS. Так что до нативных программ под конкретную платформу на C++ с Qt или подобном по возможностям им пока далеко.
    Да, из Java/Kotlin/Swift и из JS внутри Cordova и Electron доступны, а из просто JS в браузере нет.

    Хотите поспорить - спрограммируйте мне страницу на PHP, которая будет считывать показания моего шагомера, принимать Push-уведомления, работать в фоне и парсить SMS.
    Ну так вы за PHP говорите или уже топите за JS?

    PHP отрендерит только статическую страницу, а весь интерактив потом всё равно придётся делать на JS. Вы даже сейчас находитесь на форуме с JS-интерактивом на jQuery, где комментарии, лайки и жалобы из всех кнопок и всплывающих форм на PHP-сервер и так отправляются по Ajax.

    Поэтому вообще не заметите разницы, если этот форум с PHP + jQuery вдруг перепишут на NuxtJS + PHP API.

    Так что маниакальная тяга делать вёрстку только в PHP и любой ценой завернуть приложение-сайт в браузер-эмулятор (вместо того, чтобы брать удобные и быстрые нативные языки программирования) весьма странна с вашей стороны.
     
    #12 ElisDN, 18 мар 2020
    Последнее редактирование: 18 мар 2020
  13. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    Талантливый человек - талантлив во всём, с идиотами такая же ситуация.
     
  14. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Я бесплатно не работаю. И без ТЗ - не работаю.
    Что конкретно нельзя сделать в браузерном JS ?
    --- Добавлено ---
    ??? Я ведь писал. Уже несколько раз.
    На сервере - php
    На клиенте - выход с php - HTML и JS
    Вы правда не понимаете?
    --- Добавлено ---
    Я в основном про работу с базой данных. JS с базой работает через попу.
    --- Добавлено ---
    Всё началось с того, что мне нужно было получить Rest запрос. На php это делается в одну функцию.
     
  15. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.752
    Симпатии:
    1.322
    Адрес:
    Лень
    Ну.. пыха умеет скринить экран компа, и то учитывая на какой платформе размещен и т.д. Сейчас сижу и бесплатно работаю над конструктором пхп кода с помощью json api
     
    #15 MouseZver, 18 мар 2020
    Последнее редактирование: 18 мар 2020
  16. ElisDN

    ElisDN Активный пользователь

    С нами с:
    13 фев 2018
    Сообщения:
    605
    Симпатии:
    130
    Без оборачивания в Electron из простого браузера нельзя всё, что перечислил: считывать показания шагомера, принимать Push-уведомления, работать в фоне демоном, парсить SMS, читать файлы. То есть нет доступа к системным вещам телефона.
    Понимаю. Всё в классическом случае так и работает. После загрузки HTML-страницы начинается интерактив: пользователь начинает тыкать по табам и кнопкам, перетаскивать элементы и лайкать фотографии. По кликам из JS летят Ajax-запросы в PHP за данными из серверной БД. JS получает ответы и подменяет части страницы, меняет сердечки с серого на красное и т.п, чтобы она целиком не перезагружалась по каждому клику.

    Никакой этот клиентский JS напрямую к серверной БД не подключается. Разница лишь в том, где генерируется HTML. Вам удобнее, чтобы сразу из PHP результат прилетал в HTML, а другим удобнее получить результат в JSON и уже JS по нему на лету сгененрировать HTML.

    Просто вы не в курсе, что даже обычные браузерные сайты вместо PHP-HTML + JS всё чаще делают на VueJS + PHP-API или AngularJS + Java-API без возврата HTML-контента с сервера. А потом (если надо) спокойно на этот же API пишут мобильное нативное или JS-приложение.

    Вынесение вёрстки в JS из PHP имеет свои плюсы:

    Работа только в виде API упрощает программирование сервера, так как голый JSON вернуть или обработать проще, чем отрендерить всю страницу целиком, а потом для Ajax-запросов рендерить её же части по отдельности.

    Облегчается жизнь верстальщика-фронтендера, так как он может как угодно верстать и компоновать свои шаблоны у себя на JS, не залезая на сервер с кодом на PHP/Java/Go.
    Как уже сказали, браузерный JS не работает с БД, так как в браузере нет БД.

    А серверный JS с БД работает отлично. Даже порой удобнее PHP за счёт наличия интерполяции и асинхронности.
    Отправка REST-ответа на PHP делается вообще одним массивом без своей функции:
    PHP:
    1.     'name' => 'miltorg',
    2.     'state' => 'Новичок',
    3. ]);
    и JS/Kotlin/Swift уже это отрендерит в браузере или мобильнике как посчитает нужным.
     
  17. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Где я писал про REST-ответ?
    --- Добавлено ---
    А вот это интересней. Спасибо.
    --- Добавлено ---
    Так в этом то и вопрос.
    Дело в том, что задачи которые достались мне недавно, не требовали доступа к телефонным СМС. Решались в 1 строку кода на php.

    Попытаюсь под итожить.
    При употреблении приложения полностью на основе Веб-браузера для мобильного телефона:
    1. Ничего страшного - нет. И, в принципе, всё будет работать.
    2. Скорее всего, что с телефона даже не включится камера. Или всё таки включится?
     
  18. ElisDN

    ElisDN Активный пользователь

    С нами с:
    13 фев 2018
    Сообщения:
    605
    Симпатии:
    130
    И REST-запрос в PHP делается одной функцией:
    PHP:
    1. $json = file_get_contents('https://api.site.com/v1/profile');
    2. $data = json_decode($json, true);
    3. echo $data['name'];
    Не сильно сложнее, чем REST-ответ.
    Да, если простое самопальное приложение-браузер, то кое-как примитивно работать будет.

    А если хочется полноценной работы для пользователя и более удобной для программиста, то уже нужно заморачиваться разработкой полноценного JS-фронтенда и заворачивать в Cordova или Electron.
    Так в этом и ответ, что все задачи у вас примитивные на 1 строку.

    Задачи посложнее и поинтереснее доверяют только программистам за 10 евро в час. Решаются в 10 000+ строк кода на PHP/Java и JS/Kotlin/Swift.
     
  19. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Именно это я и написал. Но мне сказали - что это не то.
    --- Добавлено ---
    Встроенный браузер - самопал!!?? Просто прелесть.
    --- Добавлено ---
    Эти задачи, про Рест-апи в одну строчку, как раз и были на собеседовании.