Hakka, Taiwanese, Cantonese, Shanghaiese (Wu), and Mandarin are all different dialects of Chinese. They are different at branch level which means that are as different to each other as French to Spanish. But in written form they are all identical to each other (written and spoken Chinese could be very different except Mandarin).
What we call Taiwanese is identical to Hokkien spoken by most Chinese living in Malaysia and Singapore. (It is called such because Holos Chinese constitute a majority of in Taiwan) In theory it should be called Minnan language (Southern Fujian/Hokkien) but Taiwanese seems to have more cutting-edge words as it is the most developed part of China. The difference between "Hokkien" spoken in Singapore, Taiwanese spoken in Tainan, and Minnan spoken in Xiamen is like difference between American and New Zealand and British English.
Hakka is another Chinese dialect that is also spoken in Guangdong, Sichuan, Jiangxi, Guangxi - provinces also with lots of Hakka Chinese. It has no relation to Taiwanese/Hokkien/Minnan.
Shanghainese is called Wu? I did not know that. I was born in Shanghai and speak it fluently. I like to call it the Chinese version of New Yorkese because it is a fast paced and very hard tonal language. I happen to be living in New York City right now btw.