Do you have to use Meteor for building Dapps? Are there any alternatives for Meteor JS to build DApps?
No you don't need meteor. But meteor is one of the best tools so yes ou can choose another one but I won't tell you to do so. Meteor is only a way to make client and server code more close to each other and it's a really nice way to share data even in offline mode. You really should have a deep look on it.
The ethereum core library is not meteor. What you really need is web3 library and ethereum node access on the client that is only provided by the ethereum browser for now. So no, JS is still mandatory.
One way to build something without JS would be to make the link between your website and ethereum on server side. But then users would have to trust your server and that's not how ethereum should work.
Edit: Also Akasha social Dapp seems to have encountered some difficulties using Meteor, but I don't really know the details. Here's what they write in their blog post :
We began developing the AKASHA prototype back in 2015 using Meteor and it was quite an interesting (and at times frustrating) journey; there are no “right” or “wrong” ways of doing things since we are navigating in deep uncharted territories.
This is how, by the end of 2015, we started to understand that Meteor is great for many things but not for what we needed, especially as it started to undergo fundamental architectural changes. It was almost like trying to build a card castle on top of moving sands.
However, the prototyping stage offered us invaluable insights into what to do and what not to do in some regards while also giving us a general idea on how we should approach the development of the “real” application.
After a few weeks of intense research we found a satisfying stack for building a minimum viable product (MVP). Besides Ethereum and IPFS, our tech stack is composed of Electron, React with Redux and Node.js.