What are tools/platforms available to develop a common public web application using private blockchain which should support smart contracts? And which one is the best from them?
I recommand you to use solidity browser as an IDE, and to setup a private chain (using geth as your node). For the frontend you need to use Mist to browse your Dapp. use Web3js API in HTML pages to communicate with the network (your contract).
I think you are asking two separate questions mixed up together. First, what are the tools that allow you to build a private blockchain on top of ethereum? And second, what are the tools that allow to create a responsive UI to your blockchain application? Those two applications: frontend and backend communicate with each other using some common API layer.
This is the image visualizing the general idea:
The image is taken from here, I highly recommend you to read this article to get started.