По сути, я PHP разработчик по профессии. У меня есть только опыт разработки сайтов с использованием PHP. У меня больше нет опыта создания мобильных приложений.
Моя организация хочет создать веб-сайт (с использованием PHP), а также мобильные приложения (в Android и iOS), чтобы создать присутствие в социальной сети для какого-либо сообщества, которое будет точно соответствовать функционированию Сайт в фейсбуке а также Приложение для фейсбука.
Но я не понимаю, с чего начать? Как начать? Какой подход я должен следовать? Как использовать PHP для всего этого?
Я хочу знать, как Сайт в фейсбуке а также Приложение для фейсбука работать вместе в синхронизации?
Я хочу знать, в чем заключается феномен, системная архитектура, принцип, шаблоны проектирования, технологии и другие вещи, которые стоят за этим?
я использую Сайт в фейсбуке на моем ноутбуке и Приложение для фейсбука с моего смартфона Android.
Всякий раз, когда я получаю какие-либо уведомления на Facebook, он получает уведомление почти в тот же момент Сайт в фейсбуке так же как Приложение для фейсбука.
Кроме того, всякий раз, когда я обновляю свой статус или выполняю какие-либо действия, такие как реагирование или комментирование сообщения, добавление обновления группы, добавление обновления события и т. Д. Из Сайт в фейсбуке это немедленно отражается в Приложение для фейсбука и это происходит наоборот. Это тоже происходит очень гладко.
Согласно моему пониманию, Сайт в фейсбуке а также Приложение для фейсбука должен использовать одну и ту же базу данных для хранения и доступа к данным, но я до сих пор не понимаю, как они работают синхронно в качестве базы кода Сайт в фейсбуке а также Приложение для фейсбука это совершенно разные вещи в природе? Также способ исполнения Сайт в фейсбуке а также Приложение для фейсбука это две совершенно разные вещи.
Приложения Facebook были построены с использованием различных технологий (таких как Android, iOS, Windows Phone, Blackberry и т. д.) и Сайт в фейсбуке был построен с использованием PHP и всего остального, но все равно они работают синхронно.
В чем заключается совместная работа различных технологий в синхронизации друг с другом?
И я наблюдал то же самое с различными веб-сайтами и приложениями, такими как Gmail, LinkedIn и т. Д. Они также работают с таким же явлением, как Facebook?
Пожалуйста, направьте меня в правильном направлении относительно этого. Каким и каким должен быть мой подход к этому проекту в качестве разработчика PHP?
Благодарю.
И веб-сайт Facebook, и приложение Facebook используют одну и ту же базу данных. Приложение Facebook, скорее всего, использует веб-API REST для связи с частью API веб-сайта Facebook, чтобы извлекать данные из общей базы данных или изменять данные в общей базе данных.
Я бы посоветовал вам написать API рядом с вашим сайтом, который будет обрабатывать связь с базой данных для вашего мобильного приложения.
Хороший способ начать работу — использовать существующую структуру REST API. Список можно найти здесь: http://davss.com/tech/php-rest-api-frameworks/
В начале заинтересованы в WebSockets
WebSockets Это передовая технология, которая позволяет открыть интерактивный сеанс связи между браузером пользователя и сервером. С помощью этого API вы можете отправлять сообщения на сервер и получать управляемые событиями ответы, не запрашивая ответ у сервера.
а также трещотка
WebSockets для PHP
Ratchet — это слабо связанная PHP-библиотека, предоставляющая разработчикам инструменты для создания двунаправленных приложений в реальном времени между клиентами и серверами через WebSockets. Это не интернет вашего дедушки.
Тогда вы можете сделать Создание приложений реального времени с PHP и WebSockets или же Веб-приложения реального времени с PHP и Ratchet.
Я рекомендую вам проверить Parse.com. К сожалению, они меняют способ работы своей системы, и я могу говорить только из своего прошлого опыта. Parse хранит базу данных для вас, и у них есть библиотеки, позволяющие вам подключаться к вашей базе данных с разных платформ и языков программирования, включая PHP, IOS, а также Android. Теоретически, все, что вам нужно сделать, это загрузить библиотеку PHP и попросить разработчиков мобильных приложений загрузить мобильную библиотеку для IOS и Android, хотя это немного сложнее.
Я не уверен, что это будет более выгодно, чем настройка вашей базы данных для обработки вызовов из PHP и мобильных устройств, но, возможно, стоит обратить на это внимание. Также важно отметить, что Parse мигрирует в пользовательские базы данных, и я не уверен, как это повлияет на новых пользователей или какие преимущества предоставляет Parse. Вам придется настроить свою размещенную базу данных, поэтому она немного сложнее, чем просто загрузка библиотек.
Надеюсь, что это полезно, и удачи!
Если вы по профессии PHP-разработчик, вы, вероятно, понимаете, что в приложении есть разные уровни.
Внешний интерфейс будет состоять из вашего веб-приложения, написанного на PHP / ASP / JAVA, и любого другого языка, о котором вы только можете подумать. Они могут быть даже в форме приложения для настольного компьютера Mac, приложения для рабочего стола в окне, приложения для Android или приложения для iOS.
Facebook и Google работают одинаково … но в конце дня все эти приложения просто для извлечения данных из базы данных и их отображения.
Таким образом, независимо от того, для каких языков и платформ вы пишете … вы можете просто разработать веб-приложение на PHP с MySql ..
В будущем вы сможете добавлять приложения для iOS, приложения для Android или любые другие платформы, для которых вы хотите писать … все, что им нужно, это читать из базы данных MYSQL и отображать информацию для вашего пользователя.
уведомление
Для части, где вы упоминаете обновление статуса Facebook на вашем сайте, и вы получаете уведомление на свой телефон. Это делается путем передачи сообщений через веб-сокеты на разные устройства, точно так же, как работает приложение живого чата.
Вы можете попробовать что-то вроде pusher.com или же pubnub.com. Я лично использую pusher.com для отправки уведомлений на устройства iOS и Android.
Это происходит, когда вы обновляете свой статус на Facebook в вашем Internet Explorer.
Типичный поток
Статус обновления -> База данных обновлений Facebook -> Facebook отправляют уведомления на устройство IOS -> Устройство iOS получает уведомление -> iOS
Устройство получает новую информацию из базы данных
Конечно, если бы вы писали приложение для устройства iOS или устройства Android, вы, вероятно, также разработали бы локальную базу данных на самом устройстве, чтобы вы не извлекали гигабайты данных из удаленной базы данных все время.
Это комбинация технологий и техник, которые вы можете использовать для своих целей:
об архитектуре: вы бы разработали архитектуру на основе API
который позволяет вам иметь веб-интерфейс или использовать любой другой
платформы для доступа к объектам в вашем приложении. я
рекомендую Yii 2 framework или специально Zend 2 framework и
Apigility. наиболее используемые методы API — SOAP и REST, которые я
Рекомендовать REST, так как он не раскрывает методы и не поддерживает JSON.
Есть много, чтобы прочитать об архитектуре.
о базе данных: конечно, вам нужна одна база данных, но если вы беспокоитесь о производительности, вы можете подумать о программных решениях.
учитывая производительность MySQL или использовать базы данных NoSQL, а также
Есть и другие решения, такие как использование нескольких серверов и кластера.
базы данных и балансировки нагрузки. и что более важно, как использовать кеш
(есть некоторые решения, такие как Varnish или Memcached)
о дизайне шаблона:
Шаблоны проектирования — это разные стандарты для разных ситуаций. если вы имеете в виду, какой шаблон дизайна для уведомления вы могли бы использовать. это схема проектирования наблюдателя / инвертора
Отправить уведомление:
вы будете использовать APN (сервис Apple Push Notification) и GCM (Google Cloud Messaging), которые позволяют вам информировать ваши приложения об изменениях и новых уведомлениях.
о приложении: в соответствии с возможностями, которые вы предоставите своему клиенту, вы можете использовать нативный подход к разработке или гибридную разработку (например, Cordova) для загрузки одинаковых форм в мобильные устройства и вызова вашего API для обновления, удаления, создания или любых других действий, которые у вас есть, или для получения уведомлений ,
Здесь также есть множество решений для гибридных приложений, таких как использование REACT и Mobile Bootstrap или ANGULAR и IONIC Framework и …
Также вы можете использовать NOD JS и отделить ваше веб-приложение от вашего API-сервера или использовать PHP для обоих. или использовать один сервер для веб-интерфейса и веб-сервисов. Я имею в виду, что существует множество решений.
Только знание PHP будет работать. Создание сообщества с поддержкой RESTful API на общем сервере или на бесплатном уровне OpenShift PaaS для тестирования займет 5 минут. & развитие.
WordPress + BBPress + WP RESTful API + пользовательское приложение
Демо фронтенд-сообщества: https: //bbpress.orgy Демо REST API в действии: https://bbpress.org/wp-json/
Эта вторая вещь, похожая на URL, будет выполнять синхронизацию с мобильным приложением.
Установите WordPress. Затем установите:
Ваш API сервер с сообществом готов в течение 5 минут. 100% RESTful веб-приложение. Читать —
Вы хотите приложение для Android. Вы будете следовать этому руководству: https://deliciousbrains.com/creating-mobile-app-wp-api-react-native/
У WordPress есть мобильные приложения — https://apps.wordpress.com/mobile/ & исходный код — https://github.com/wordpress-mobile/WordPress-Android
Как вы хотите использовать свое приложение, это ваше дело. Вы можете изменить их.
Как работает
Проще говоря, у веб-приложения есть современная «лента», похожая на JSON response. Это один из способов обновления мобильного приложения. Вы можете использовать канал, когда мобильное приложение доступно только для чтения. Они попадают в категорию ОСТАЛЬНОЕ. Этот новый способ JSON дает гранулярный контроль чтения-записи. Остальные написаны на их документах.
Важный
WordPress JetPack предоставляет множество бесплатных функций, включая push. Спросите на официальном форуме WordPress, когда у вас возникнут сомнения.
Ограничьте места из программного обеспечения веб-сервера для ограничения скорости, чтобы избежать DDoS, используйте Fail2Ban, iptables. Очень опасно не фильтровать с веб-сервера, следить за журналом, использовать кеш.
Все дело в интеграции API и программирования. Для сортировки вам необходимо создать центральный сервер (управляемый и сбалансированный), обслуживающий данные и обрабатывающий запросы с веб-сайта и из мобильного приложения.
Появляющаяся техника с PHP (популярная и подходящая) шаг за шагом
1) Создать REST API и создать Oauth Cerver с Ларавел или Люмен фреймворк.
Эти рамки практически одинаковы и, кроме производительности. Вы можете создать хороший API REST и использовать паспорт (Oauth) для аутентификации REST.
Мобильное приложение и ваш сайт могут взаимодействовать с REST API.
2) Создать мобильное приложение с использованием AngularJS и построить для Android и IOS с использованием ионных, Cordova или PhoneGap.
Вы можете создать собственное приложение, используя его SDK, но теперь фреймворки Javascript также достаточно сильны для мобильных приложений.
а для синхронизации и уведомления в реальном времени существует множество технологий, которые вы можете использовать. В мобильном приложении вы можете запустить сервис для проверки уведомлений в фоновом режиме.
Недавно я разработал веб-приложение, а также мобильное приложение для Android и iPhone. И для этого я использовал Laravel 5.3 (PHP), AngularJS и VueJS.
Я хотел бы указать причины, по которым у вас до сих пор нет хорошего ответа на ваш вопрос даже после присуждения награды.