I would like to use AngularJS in my next project. The application with Python backend and html5, Angular frontend.
I am going to use MVC framework on backend and I am little bit confused. Do I have to use routing on backend and also frontend?
Because I always used backend routing and routing on frontend is really new idea for me.
Is client side routing better? And when I choose to use frontend routing, there will be no routes on backend? All request will be send to one url?
You can use client-side routing and let the backend return static files and JSON data. The routing in Angular basically tell you which partial template you need to download from server and which controller will handler it.
Your back end routes will be like this
'/partials/:name' -> return corresponding partial
'/api/*' -> handlers to return json data
'/*' -> return index.html
Your index.html will contain reference to other views
...
<div ng-view></div>
...
Now let say you go to yourapp.com/someview.html. The server returns index.html and since the url is /someview, Angular will ask for "someview" partial from server and render the page accordingly.
In short, the server role is to return index.html, partials and serve REST API request. The client always receive index.html and based on the url, request for coressponding partials and JSON data.