• Как осуществить перенос веб-приложения на мобильные платформы?

    edli007
    @edli007
    full stack, team lead
    Все как вы и написали, PhoneGap/NW.js самый простой способ.
    Ответ написан
    6 комментариев
  • Нагрузочное тестирование php?

    Taras_Serevann
    @Taras_Serevann
    веб-разработчик, автор
    Selenium + PHPUnit

    Если не разбираетесь, то Selenium IDE.
    Ответ написан
    2 комментария
  • Как кратко назвать RESTful API, которое, оказывается, никакое и не RESTful, ибо возвращает JSON/XML, кодов HTTP-ошибок не использует, да и URLы не те?

    вижу какие-то статьи, где пишут, будто если с JSON, то это вообще не REST API!

    если REST API - это когда без JSON и XML (т.е. на HTML), то какое же оно тогда API?!

    Ссылки на статьи пожалуйста. Там либо автор фантазирует, либо его неправильно понимают. Единственная причина, по которой автор мог так заявить, это то, что большинство современных RESTful API не гипермедийные. Но это не значит, что не стоит в принципе использовать тот же JSON, это лишь значит, что нужно стремиться включить в него гипермедийные возможности (см. JSON-LD, HAL, Siren) и сам API также строить на этой идее, которая заключается в том, что у вас есть одна "точка входа", а на все остальные ресурсы, имеющиеся в API, вы попадаете, переходя по ссылкам внутри других возвращаемых ресурсов, точно также как вы заходите на сайт, зная его доменное имя, и дальше ходите по ссылкам.

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

    не использующее (или почти не использующее) HTTP-кодов ошибок

    А вот ошибками все-таки стоит пользоваться.

    какие-то паттерны URL наподобие /images/ и /images/1, про какие-то PUT и DELETE, про коды ошибок...

    RESTful API и MVC — что это?
    Основной посыл использования RESTful API - применение основной идеи Паутины для взаимодействия автоматических агентов (приложений), а не только людей.

    Основная идея Паутины - построение распределенной информационной системы путем публикации неких абстрактных ресурсов, выдачи им идентификаторов (в сегодняшнем вебе - иерархических), определения ряда простых и широко известных операций над ними, не зависящих от содержимого ресурса (те самые GET, POST, PUT и т.д.), и связывания этих ресурсов ссылками (это называется гипермедиа, и в частности, гипертекст, если речь идет о текстовой информации).

    Таким образом, если вы хотите какую-то информацию опубликовать как RESTful API, вам необходимо представить ее как набор ресурсов, а все операции над этой информацией выразить через набор предопределенных операций. Фишка в том, что во многих задачах этих предпопределенных операций вполне достаточно, главное правильно определить ресурсы.

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


    Видел слово "JSON-pure API"

    Это уже вкусовщина. Люди не любят XML в API за то, что его модель подходит для описания иерархических данных и документов, но не для привычных объектно-ориентированных отношений между сущностями (он-то и создавался для представления документов, а не для веб-сервисов). Поэтому популярность JSON растет до упора. Многие старые API до сих используют XML, и JSON-pure - способ похвалиться, что ваше API полностью JSON. Сама идея RESTful ничего не говорит о форматах ответа, за исключением того, что формату желательно быть гипермедийным.
    Ответ написан
    4 комментария
  • Достойные аналоги phonegap?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Для написания бизнес-апп (а каталог товаров именно такая штука) конкурентов у phongap/cordova не много (особенно если брать за основу ionic framework и подобные). Возможно еще Titanium как-то рядом можно вклинить но я увы уже пару лет как не видел что там (а судя по всему они в последней мажерной версии что-то кординально поменяли).

    Почему я считаю что Xamarin, Qt, Corona SDK и т.д. не конкуренты - изза времени на реализацию под каждую платформу. Да, бизнес логику можно не дублироват, но в вашем приложении это примерно половина времени, вторая половина времени - UI. В этом плане Cordova выигрывает так как UI один на все платформы. Это не круто для обычных приложенек, но замечательно подходит для бизнес решений. В среднем время на реализацию приложения на Cordova, если брать одну платформу, примерно такое же как и у Xamarin и прочих и лишь немногим меньше нативного (да, написать под одну платформу выгоднее будет на нативном языке и фреймворках). Но стоит добавить в список поддерживаемых платформ еще одну и разрыв сокращается. В том же Xamarin и подобных вам придется реализовывать UI для каждой платформы отдельно что добавляет оверхэд ко времени. То есть суппортить их всеравно выходит дешевле чем два нативных приложения, но не сравнить с Cordova.

    Если же приложение обладает сложным UI, интерактивностью и т.д. то тут уже профит у Xamarin и т.д.

    Qt как вариант так же не плох, нативный UI (правда он не совсем нативный, но скорость работы более чем хорошая), C++, скорость работы приложения.... но разве для каталога товаров это нужно?

    Вот... для вашей задачи я бы брал Cordova + ionic так как для двух платформ это выйдет сильно дешевле и проще в поддержке. Интерактивный каталог (например расширенная реальность как у икеи) - тут я бы лучше взял Qt или Xamarin, а возможно просто реализовал бы большую часть логики на C++ а все остальное реализовал бы нативными средствами.
    Ответ написан
    2 комментария