Writing a GPIO Driver on BBB

I am writing a GPIO driver to control a hardware.For this I need to set/reset certain GPIOS on the BBB as per certain pattern of commands(GPIOX->ON,GPIOY->OFF,GPIOZ->ON and so on).I can do this using sysfs interface as well from the user space application but I am looking via driver way.
I have read that I can do this from the Device Tree concept but I am not aware how .Though I have read that I have to modify the dts file using dtc compiler and so on .But I don’t know the full process.How and what will be the type of the structure of the user space application to interact with the driver done this way?
Kindly celar my understanding if I am assuming correct and provide a link to any hello world Device Tree Gpio prpgramme.
Regards - RP