This learning path has some guidance on that front.
The best option is developing a native mobile App, but the deployment process is not simple.
But a responsive interface is not enough; you should develop more suitable pages for small screens and touch.
You can start practicing:
Adding a navigation profile:
And define an optimized page for each device.
You can also use visibility options for widgets:
Hidding or revealing wigets according the device.