Приложение и сайт, как построить API сайта?
Тут есть 2 варианта:
1. В первую очередь делать API, с которым будет работать как и сайт так и приложение. Но тут следует учесть что сайт будет делать гораздо сложнее, ибо все данные будут подтягиваться запросами к АПИ после загрузки страницы, и прочее. В принципе, для SPA (single page application), или сайта с сложной фронтенд логикой это и так придется делать и такой подход предпочтительнее, но если у вас сайт простенький, это лишь создаст неудобства. Соответсвенно, чтоб сделать такой сайт нужен и квалифицированный фронтендщик. В принципе, это правильный подход. 
2. Делать сайт и отдельно API. Но тут с ростом сложности проекта будут возрастать затраты на поддержку сайта и апи одновременно, учитывание различий в их логики, и прочее.
Я бы начал делать сайт отдельно, API отдельно, ибо на старте это быстрее. Если проект попрет и появятся необходимость к усложнению, созданию приложений на другие платформы - то потихоньку переделал на 1 вариант. 
Что касается технологий - то да: REST для начала самое то, да и большинство бекэнд фреймворков уже имеют поддержку для него. Скорее всего и не только для начала, но опять таки, зависит от проекта.
REST API - это просто