@dansing_bear

Как быстрее и легче войти в мобильную разработку?

Всем доброго времени суток.

Сразу к делу.
Имею необходимость как можно быстрее освоить мобильную разработку.
Цель: реализация текущего проекта-стартапа + возможный поиск работы в будущем на позицию мобильного разработчика.

О себе.
По образованию психолог. Есть здоровый интерес к разработке, который обусловлен не только желанием зарабатывать, но и получать удовлетворение от созидательной работы. Активно слежу за трендами в IT последние несколько лет. Есть кое-какие навыки работы на языке R, Python немного JS. Умею парсить сайты, делать анализ данных и писать несложные системы автоматизации для личного использования. Имею общее представление об ООП, алгоритмах и структурах данных. Однако, называть себя разработчиком или специалистом по машинному обучению не стал бы.

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

В данный момент стою перед выбором мобильной платформы: Android или iOS. Также, необходимо определиться с языком программирования: Swift или Kotlin. Изучил множество материалов по этой теме, но все равно не могу принять решение. Да и не все вопросы были решены.

Итак, что мне удалось выяснить.

Android
++ язык Kotlin кажется довольно понятным и лаконичным, похож на Python - освоил бы его легко и с удовольствием
++ имеется собственный девайс - будет удобно тестировать приложения
++ также, можно делиться приложением залив его на чужое устройство в виде .apk файла (удобно для тестирования)
++ более-менее лояльная политика Play Market к публикации приложений
++ самая большая аудитория пользователей

-- есть мнение, что помимо языка Kotlin необходимо знать Java - придется потрать больше времени на изучение двух языков (?)
-- слишком большое разнообразие устройств и модификаций ОС
-- низкая платежеспособность пользователей

iOS
++ язык Swift кажется довольно понятным и лаконичным, похож на Python - освоил бы его легко и с удовольствием
++ имеется MacBook, уже зарегистрирован как разработчик и имею доступ ко всем необходимым инструментам в Xcode (редактор, отладчик, эмулятор iOS и др.) - очень удобно
++ небольшое разнообразие девайсов и унификация ОС
++ самая платежеспособная аудитория пользователей

-- есть мнение, что помимо языка Swift рекомендуют изучить Objective-C - придется потратить больше времени на изучение двух языков (?)
-- не имею собственного iPhone - не смогу тестировать приложения на работающем устройстве
-- не уверен, что можно переносить написанное iOS приложение на чужое устройство (как .apk файл в Android), чтобы юзать или тестировать (?)
-- слишком жесткая политика App Store к публикации приложений

Мои основные вопросы.
1) Так ли необходимо знать Objective-C или достаточно освоить Swift, чтобы начать разрабатывать мобильные приложения под iOS?
2) Так ли необходимо знать Java или достаточно освоить Kotlin, чтобы начать разрабатывать мобильные приложения под Android?
3) Реально ли устроится начинающему мобильному разработчику на удаленную работу или такая привилегия доступна только при наличие значительного опыта?

Мои дополнительные вопросы.
1) Возможно ли делиться iOS приложением залив его на чужое устройство или только через AppStore?
2) Многие рекомендуют React Native, но мне это кажется костыльным подходом к мобильной разработке - что думаете об этом? Возможно стоит присмотреться и к этой технологии?
  • Вопрос задан
  • 844 просмотра
Пригласить эксперта
Ответы на вопрос 2
@gre4ixin
iOS Developer
Отвечу как iOS разработчик
1) Чтобы начать разрабатывать можно вообще не знать Objective-C, можно начинать прям со Swift, но я бы рекомендовал в будущем пройтись немного по Objective-C, все-таки знать его на уровне "чтение кода" было бы очень хорошо.
2) По андроиду такая же схема, знать джава чтобы начать разрабатывать не надо, но хорошо было бы в будущем иметь о ней представление
3) Насчет удаленной работы как повезет, мой первый работодатель брал таких, который были вообще без опыта и работали они 90% времени удаленно, так что все индивидуально, но я бы не рассчитывал, что вас возьмут без опыта на удаленку
Ответ написан
@402d
начинал с бейсика на УКНЦ в 1988
Я Вас расстрою , но язык программирования - это только буквы .
Выучите ли вы (латиницу - котлин) или кирилицу (ява) . Не важно.
Дальше Вам потребуется научиться их соединять в слова (понять архитектуру приложений ).
А вот получиться ли из Вас хороший писатель (программист) не известно.

У Вас есть хоть какой опыт написания программ на любом языке ?
Если нет , то попробуйте пару вечеров повозиться на scratch.mit.edu .
Это позволит Вам оценить насколько легко Вы обучаетесь и нравиться ли Вам вообще программировать

Говоря про скретч, я не издеваюсь, как может показаться. Есть дальнейшее развитие идеи под разработку
мобильных приложений appinventor.mit.edu/explore . Помимо родоначальника в сети, можно найти
и другие сервисы основанные на этом же подходе.

Да получаются простенькие приложения с излишним размером. Но освоить очень-очень просто.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы