read webforms fields in a mobile app and write submissions to the site database I have a courses site where students take online courses and then take exams and get their certificates.

The courses content type has an entity reference to "Lessons" content type which has a further reference to Exams content type ( Webform).

The progress of user is being stored in a custom table in database.

Now we need to build a native mobile app with login / registration, and taking courses and exams features. (user registration / login  and progress should be synced with site database)

Any ideas to start with? Custom API, web services or reading and writing to database directly. 

thanks
I believe services will fulfill your needs. You can try with  Services module. 

You may require to customize the module for your custom made features in the site.