You can build a UI in any language with any framework and use the REST API or one of the SDKs, e.g. JS, to fetch the necessary information from splunk.
@manojkrishnan, you can do a lot of rich customization to Splunk dashboards using Simple XML CSS and JS Extensions, there are several examples in Splunk Dashboard Example Apps , dev.splunk.com, blogs.splunk.com and Splunk .conf sessions.
However, if you want to include modules and frameworks, you would need to convert your Splunk Dashboard from Simple XML to HTML (then you would need to be aware of Splunk Web Framework to understand and code your Splunk Dashboards). You can refer to Create a Music Dashboard tutorial to understand an HTML Dashboard Example in Splunk.
Finally please refer to one of my Splunk Wiki Talk topics to use Angular JS in Splunk HTML dashboard (PS: I have not tried Angular 2 or Angular 4, but expect the same to work as well). I would however also recommend @martin_mueller 's approach of creating your dashboard in technology/framework of your choice and then use Splunk SDK of your choice to just fetch the required data in your webpage.