Хорошо, если бы вы уточнили ваш вопрос. Ваш вопрос очень глобальный, поэтому на него и нет еще ответа.
Если коротко, то: