Как научиться писать под Android без опыта программирования

Добрый день.

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

Как поступать, если ты новичок, и хочешь заниматься именно разработкой приложений? С чего начать?

Спасибо.


Отвечает Григорий Клюшников, бывший Android-разработчик «ВКонтакте»

Привет.

К сожалению (или к счастью), написать нативное приложение с нуля практически невозможно.

Начинать свой путь программиста с изучения Java я бы не советовал — слишком многое нужно будет понять сразу. Лучше начинать с языка С — это позволит разобраться в основных принципах программирования, а уже потом поверх этого можно учить Java.

Если очень уж хочется — у Oracle есть очень хорошие уроки по Java, а на developers.android.com расскажут, как её непосредственно к Android применять.

Если в процессе разработки у вас возникнут какие-то конкретные вопросы — ответы на них наверняка можно будет найти на Stack Overflow.

Конечно, если вам нужно какое-то очень простое решение, то можно просто сделать страницу на HTML5, а в роли приложения будет выступать какой-нибудь браузер с открытым кодом, который только этот сайт и будет открывать, грубо говоря.

Никаких лайфхаков тут, увы, нет.

0
68 комментариев
Написать комментарий...
Федор Кузьмич

Что за бред. Кто придумал, что выучить андроид проще, если начать с си?) Это тоже самое, что учить немецкий, чтобы говорить на французском. Бери и учи андроид сразу.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Вадим Пушш

Вы полагаете, си - язык функционального программирования? Ой! Вы такой крутой эксперт! Объясните мне что такое монады. Это ведь так просто. И чтобы я понял. И где они в си.

Ответить
Развернуть ветку
Гала Перидоловна

Основная идея функционального программирования - откладывать изменение переменных до тех пор, пока это возможно. Императивного - постоянно изменять. Монады по своей сути являются следствием того, что результат выполнения отложенных вычислений не определен. Реализовать их можно в любом императивном языке(Java - Optional).

Ответить
Развернуть ветку
Вадим Пушш

Вы ленивые вычисления имеете в виду? Не во всех функциональных язаках они есть. Не говоря уже об изменении переменных.

Ответить
Развернуть ветку
Гала Перидоловна

Lazy evaluation есть во всех функциональных языках, т.к. основой функционального программирования является лямбда исчисление.

Ответить
Развернуть ветку
Вадим Пушш

В том виде, в котором оно есть во всех функциональных языках оно есть и во всех прочих. Эрланг требует вычисления аргументов функций. Да, ленивость можно просимулировать. Но можно её просимулировать и в си и хоть в паскакале.

Ответить
Развернуть ветку
65 комментариев
Раскрывать всегда