Начинайте с фреймворком.
При чем на старте, лучше написать какое-нибудь простенькое hello world на нескольких фреймворках, и на чем будет вам проще и удобнее, на том и пишите.
Писать в самом начале с нуля не имеет смысла, т.к. вы еще не знаете как нужно писать правильно, а фреймворки в этом плане следуют паттернам и вам придется писать правильно.
Конечно можно наговнокодить везде, но фреймворки будут держать вас более менее в рамках)))