Классика — htmlbook. Или вам более удобен бумажный вариант?
По php — книга «PHP 5» Дмитрий Котеров, Алексей Костарев.
Ещё из курсов есть codeacademy, но он на английском.
Ну и самый простой и более эффективный — опыт. Находите шаблоны и верстаете. Смотрите на кроссбраузерность. Смотрите как делают другие.
У меня опыт небольшой. Python, Django, Flask, и по большей части - на oDesk. По моему мнению, самое что ни на есть важное - это: 1) выбор адекватных заказчиков, способных точно объяснить, что им надо, и желательно - технически компетентных; 2) Грамотное общение с ними. На всякое предложение о работе подписывается много людей. Чтобы выделиться среди этой толпы, необходимо потратить определённое время и силы. Внимательно прочесть предложение, подумать над ним и сформулировать в ответном письме вкратце:
- Ваш опыт, пусть и кратко, относительно данного проекта.
- Ваше представление о том, как следует реализовать этот проект (вкратце; но можно двумя словами, но желательно - обоснованно, упомянуть о том, что вот такую-то фичу вы реализуете с помощью MongoDB для пущей скорости). Пустословия и популизма не надо.
- Предполагаемые сроки. Я их обычно завышаю раза в два. Это позволяет решить задачу с запасом и устранить возможные баги, глюки и т.п. Гораздо лучше, чем обнаружить потом, что времени катастрофически не хватает.
Очень хорошо, если Вы сразу напишете ещё и некоторые рацпредложения. Вежливо и корректно, конечно.
Короче говоря, необходимо 1) найти те проекты, в которые стоит вникать и разбираться; 2) вникнуть и разобраться так, чтобы заказчик понял: Вы - компетентный специалист, работаете на совесть, сделаете обещанное и качественно. По крайней мере, очень постараетесь. Если с самого начала тон общения построен именно так, если Вы задали уровень и поддерживаете его, то в случае возможных проблем, неувязок, нестыковок, как правило, люди относятся с пониманием.
Если вопрос именно в деньгах, то начать стоит с html+css, можно получить первые заказы что-нибудь поправить, получить первые отзывы (можно освоить за пару недель практики). После этого, я в свое время начал писать сайтики на голом php по книжкам, получалось не очень, но работало, и оплачивалось) (тут тоже достаточно прочитать одну книгу или подробный туториал по php) Ну а когда немного разобрался с технологиями, перешел на cms ModX, с которой работаю до сих пор. Вообще если получится на начальном этапе получить какие то заказы, то по ходу само собой становится ясно, что изучать дальше.
Не так важно, какие вы предлагаете технологии, важно, как вы общаетесь с клиентом и умеете продавать свои услуги. Именно такие умения позволяют быстро получить заказы.
Время освоения чего-либо очень индивидуально, и также, зависит от тех знаний которые у вас есть на сегодняший момент. Никто вам не спрогнозирует это.
Наиболее простым, наверное, будет освоение создания сайтов WP или Joomla, и потом погружение в PHP, и паралельно изучение JavaScript.
Конкуренция среди мобильных разработчиков ниже, чем среди веб разработчиков. Ну и на зарубежных биржах и денег обычно больше, и заказов больше.
Objective-C не обязательно изучать, лучше использовать какой-нибудь кроссплатформенный фреймворк (вроде PhoneGap, Titanium, Unity, Corona, Xamarin и прочих).
Не угадаешь, даже если вы будете обладать хорошими знаниями, вам сначала предстоит пробиться по "репутационной" лестнице. Новичкам не охотно отдают заказы.
Так что начинайте изучать то, что вам интересно, и по мере изучения мониторьте биржи, пробуйте брать не сложные задания.
Ещё хороший вариант найти заказчика с которым можно построить долгосрочные рабочие отношения.
Знакомый фрилансер в свое время говорил, что проще всего найти фрилансера в топе, который делегируют/оутсорсит свою работу другим фрилансерам. Ну и еще стоит отметить, что стоит поискать работу на вебмастерских форумах и писать там заказчику в ЛС.