Занимаюсь веб-разработкой и хочу делать небольшие приложения под мобильные платформы. С чего начать?

Здравствуйте, друзья.

Я недавно начал заниматься веб-разработкой. Сейчас учу HTML и CSS, в ближайших планах PHP и MySQL, и JavaScript. Ещё планирую освоить настройку веб-серверов, да и вообще понять, как это точно работает. Это предыстория, теперь суть.

В голове постоянно появляются идеи каких-то веб-сервисов. И, в принципе, реализация их зависит только от того, как быстро я выучу то, о чём писал выше. Но на днях пришла идея сделать приложение под мобильные платформы. Интересуют, конечно же, три самые популярные платформы: Android, iOS и Windows Phone.

Знаю, что для каждой платформы есть свой язык, который является нативным. Но особой тяги качественно выучить этот язык нет, т.к. знаю, что основное моё направление, то что мне нравится, - это веб. Поэтому решил попробовать поискать альтернативные ответы на мой вопрос. Ниже оставлю небольшой список вопросов. Если у вас есть знания и желание помочь мне с ответами - буду очень благодарен.

1. Насколько я понял, идеальное решение (с точки зрения веб-разработчика, который не знает нативных языков и не планирует их изучать) для создания несложных мобильных кроссплатформенных приложений - это PhoneGap. Верно?

2. PhoneGap может сконвертировать в приложение для мобильной платформы только веб-приложение, которое написано на HTML+CSS+JavaScript. Верно?

3. Обязательно ли использовать HTML5 и CSS3?

4. Как я понимаю, прежде чем приступить к выпуску приложения в PhoneGap, нужно сперва сделать это приложения на вебе. Т.е., грубо говоря, с помощью HTML+CSS+JavaScript я делаю веб-сервис, допустим, по адресу example.com, реализую весь функционал, а потом уже начинаю работать с PhoneGap. Правильно я понимаю?

5. Планирую делать небольшой чат, который будет автоматические находить собеседника. Собеседника также можно найти по критериям. Будет несколько фишек с геолокацией. Достаточно ли для такого сервиса только HTML+CSS+JavaScript? Не нужно ли будет MySQL, допустим?

6. И немного не понимаю вот что. Я делаю веб-сервис, не думая о мобильной платформе. Т.е. я делаю весь функционал, нужные размеры блоков-кнопок. Уже с помощью PhoneGap я буду делать визуальную часть мобильного приложения и подгонять разрешения экранов под разные устройства? Или об это нужно думать заранее, когда делаю обычный веб-сервис?

7. Ну и последнее: JavaScript. Подскажите, для создания такого веб-сервиса, а потом и мобильного приложения - что мне будет нужно от JavaScript? С HTML+CSS понятно - вёрстка. Пишут, что для серверной стороны нужно будет знание Node.js. Для клиентской части - jQuery. А для чего тогда нужны jQuery UI или jQuery Mobile? Если кому не тяжело - просветите по этим терминам: Node.js, jQuery, jQuery UI и jQuery Mobile. Что за что отвечает, и что мне будет нужно для решения моей задачи.

Вообще путаюсь тут, т.к. в веб-разработке ещё очень молод.

Спасибо вам за ваше внимание и хороших выходных!
  • Вопрос задан
  • 7555 просмотров
Решения вопроса 2
AMar4enko
@AMar4enko
Я бы посоветовал вам качественно изучить хотя бы одну технологию от и до.
PhoneGap это тупик. Лучше не стоит, правда.
Вот вы сделаете приложение для iPhone, реализуете там свой тулбар на css + html. В аппстор сунете, а вам пропишут reject и скажут "Друг, у нас для тулбаров нативные элементы управления есть".
Вы начнете искать, а можно ли как-то из под PhoneGap использовать нативные элементы управления. Найдете.
Окажется, что там нужно будет в phonegap-проектике покопаться под XCode (вы же в курсе, что вам OS X нужна будет для сборки проекта для iPhone?)
Потом вам понадобится простенькая база данных в приложении. Вы попробуете использовать in-browser SQL database storage. Окажется, что из-за особенностей хранения данных браузером из-под PhoneGap она у вас периодически будет пропадать. Вы пойдете искать бесшовную замену, найдете. Опять надо в XCode идти проект править, чтобы он собрался правильно.
В итоге вы вместо разработки будете искать пути решения проблем, с разработкой никак не связанных.
Так что мой вам совет: хотите малой кровью начать делать мобильные приложения - возьмите Android и делайте на здоровье. А нервы поберегите, пригодятся.
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
1) если приложение не большое, то да, phonegap подойдет. Но сразу предупрежу что без опыта оптимизации под мобильные девайсы, ваша верстка/js скорее всего будут подтормаживать на большинстве девайсов. Правда есть еще штуки типа steroids.js, которые являются ответвлением phonegap, предоставляя возможность использовать некоторые фишки нативного ui... Правда проект этот с закрытыми исходниками, сборка происходит на их cloud сервере сразу под нужные вам платформы. Для вас это может быть плюсом, но я допустим только по этой причине не могу использовать оный проект при коммерческой разработке.

2) phonegap ничего не конвертирует. По сути phonegap представляет собой ничто иное как отдельный компоненты webview с api для взаимодействия нативного кода и js, и набора дефолтных проектов под каждую из платформ, где уже настроено все (как грузить webview, как подключать файлики, что загружать а что нет...). Ваше же приложение будет представлять собой

3) обязательно использовать html и css. Что оттуда вы используете - решать вам. Но вам так или иначе придется верстать. Есть правда проект для построения приложения исключительно на нативном ui, но он сырой и там не так много возможностей.

И да, без некоторых фишек css3 вы никак не обойдетесь (css анимации, если нужны хоть какие-то плавные анимации, штуки типа bordeer-raduis... словом не так важно знать весь стандарт). А html5 это скорее dom api, а не сама спецификации разметки.

4) нет. Вы будете реализовывать приложения смутно напоминающее web-сервис, но локальный. Почитайте про single-page apps, про angular.js... про фонгап в конце концов. web сервис вам нужен доступные по сети, только если вам нужен этот сервис (api для приложения, хранение базы данных пользователей или какого-то контента).

Если смотреть на вашу задачу (чат), почитайте как реализуют чаты для браузеров, и перенесите это в phonegap (у вас страничка клиент находится на девайсе и подключается через websockets к серверу для обмена сообщениями).

5) mysql нужен только для хранения каких-то данных. Нужна она вам или нет зависит от задачи. Для простого чата она не нужна.

6) вы ни в коем случае не должны так делать. Если вы будете делать все в отрыве от phonegap и без проверки как это работает на девайсе, то в итоге вам придется потом все переделывать. phonegap-приложения разрабатываются сразу, тоесть на самых ранних этапах разработки вы должны проверять результат на девайсе. Разработка в браузере, особенно с эмуляторами, сильно упрощают процесс разработки, но уж поверьте, иногда такие забавные баги на девайсах воспроизводятся...

7) ответ на это был приведен выше.

Вообще больше гуглите и пробуйте. Начать писать на phonegap легко, есть миллион уроков и статей. Пробуйте и ищите. Правда возможно сначала вам стоит задаться вопросом "а надо ли это мне?".

И да, писать phonegap приложения худо бедно юзабельные на начальном уровне во frontend-разработке довольно тяжело. Иногда кажется что некоторые вещи нативно реализовать проще.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@IvanCode Автор вопроса
Спасибо вам, дорогие коллеги! :-)

Знаете, тоже думал в ту сторону: нельзя усидеть на двух стульях. Если заниматься плотном вебом, то о какой-то полноценности и качестве в мобайле можно не думать. Во всяком случае со старта. Не хочется делать фигню, а по другому навряд ли получится вот так вот сходу.

Хотелось бы задать ещё пару вопросов тогда:

Так что мой вам совет: хотите малой кровью начать делать мобильные приложения - возьмите Android и делайте на здоровье. А нервы поберегите, пригодятся.

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

2. Друзья, а если я сделаю просто кроссобраузерный веб-сервис (сайт) с помощью обычных технологий для веб-разработки (HTML+CSS, PHP+MySQL и JavaScript), а потом просто выпущу простейшие приложения под Android, iOS и Windows Phone, которые будут представлять собой ссылку на мой сайт?

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

Будет ли это работать, всё ли я правильно понимаю? Сложно ли сделать такое "приложение-ярлык"? Можно ли будет распространять такое приложение в App Store / Google Play?

Да и вообще чем такой метод (не считая, конечно, что это не нативное приложение и что-то будет не так удобно/быстро) плох? Вон, Вконтакте запустили в 2006, а приложение только появилось в 2011. А в 2008-2011 годах вовсю пользовались обычной мобильной версией сайта. Или раньше пользователь был не такой требовательный и не знал, что могут быть приложение, которые в разы удобнее?

Что думаете, господа?
Ответ написан
@Itvanya
Привет, у нас примерно одинаковая направленность идеи :) какие книжки читаешь, изучая html и css?
Ответ написан
Комментировать
@zdiii
У меня тоже такая ситуация.
Во общем я книжки не читаю и не читал.
И не ходил на курсы.
Решил создать сервис создал.
Только практика.
Не понял чего то, Гуго сразу поможет.
Сейчас пишу сервис ELTALON

Задачами справляюсь на ура)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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