Веб-приложение Restful, Java или PHP?

Я создаю приложение для Android, которое будет получать доступ к данным с помощью полноценного веб-приложения.
У меня довольно большой опыт работы с Java, но минимальный опыт работы с PHP.

Посмотрев в Интернете, трудно определить, какой язык является более подходящим, масштабируемым, переносимым и т. Д.

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

Если у кого-то есть опыт написания веб-приложения на любом языке, мне было бы очень интересно узнать о вашем опыте и любых проблемах, с которыми вы столкнулись … например, для веб-приложения java вам нужен сервер tomcat или другой сервер, встроенный в сервер для это чтобы иметь возможность бежать?

Спасибо за любые ответы, Мэтт.

2

Решение

Если у вас уже есть опыт работы с java, я бы посоветовал вам использовать следующее для создания ваших REST-сервисов: http://restlet.com/

Это очень просто и эффективно. Производительность очень плавная. Для PHP у вас будет некоторая кривая обучения, а также нет стандарта. Смешивать Java с PHP — это все равно, что комбинировать ОЧЕНЬ СТРОГОЙ ЯЗЫК (Java) с ОЧЕНЬ СЛУЖЕБНЫМ ЯЗЫКОМ (PHP). Так что безопаснее быть на одном языке.

Учебники:

Официальные учебные пособия для начала: http://restlet.com/learn/tutorial/2.2/

Хорошее пошаговое руководство со скриншотами и фрагментами кода: http://java.dzone.com/articles/restlet-framework-hello-world

2

Другие решения

Вы можете рассмотреть, глядя на https://jersey.java.net/ В качестве веб-контейнера вы можете использовать что-нибудь вроде Tomcat. Я использовал Google App Engine в прошлом.

2

Короткий:

Возьми JAVA!

Всегда выбирайте язык, с которым вам удобно. Также я думаю, что Java лучше подходит в конце концов.

PHP не мое преимущество. Большинству людей это нравится, потому что это легко начать. (Это был также для меня второй (не браузерный) язык, к которому я прикоснулся.)

Рамки Советы

Долго:

Масштабируемость в смысле масштабирования для множества одновременных пользователей:,
это скорее архитектурная проблема, как вопрос правильного языка. Вы можете написать масштабируемое программное обеспечение на любом языке. Разница не в масштабируемости языка, а в производительности. Один язык займет больше времени для той же задачи, что и другой. Но вы всегда можете добавить больше серверов для масштабирования.

архитектуры рассмотреть, если вы хотите уменьшить масштаб, по моему мнению на основе сообщений конструкций. Мой любимый это актерская модель, в Java есть очень хорошая основа для Akka рамки (производство доказано). Но я думаю, что сначала вы должны запустить свое программное обеспечение. Если у вас достаточно пользователей … проблемы с масштабируемостью — это проблемы, которые вам нравятся (они означают, что у вас есть пользователи).

Масштабируемость означает не только то, что вы можете масштабировать до множества одновременно работающих пользователей. Но способность обрабатывать сложность программного обеспечения или может одновременно обрабатывать и так далее (ваша команда будет расти, и это тоже проблема). В этих темах Java — это более понятный язык ООП со статической типизацией.

Также производительность не будет так хорошо, как в Java (это интерпретируемый язык). Но всегда есть варианты. Facebook начал с PHP. В одном из интервью один из ведущих разработчиков сказал, что PHP не настолько масштабируем, потому что PHP не был разработан для ООП. Но проблема производительности была решена посредством написания компилятора для PHP (вывод C ++). Если я найду ссылку, я ее опубликую.

Обновление PHP-компилятора называется HipHop и использует HHVM (виртуальная машина Hiphop), Facebook разработал его после чрезмерной загрузки ЦП.

2

Чтобы быстро начать работу с Java, посмотрите на http://dropwizard.io/, используя меньше EE-фреймворков и больше стандартного Java.
Имеет Джерси для отдыха и супер-бегать.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector