由於設備沒有一個統一的標准的軟件運行環境,導致了API的分裂。開發者在針對某些機型進行開發之前還必須要查詢這個設備到底支持什麼功能,有哪些是標准的API,哪些是可選包和廠商提供的API。這無疑給開發帶來了不便。
由於沒有一個統一的標准的針對設備的規范,這就使得程序的可移植性大大降低。如果你得程序中使用了Nokia的API那麼程序很難在其他廠商的機器上跑。即使你是用了標准的API,你得程序也不一定就能夠移植,各個廠商對應用程序的大小限制不一樣,有的是30K,有的是50K。對線程支持的程度也不一樣,有的可以支持3個,有的是5個。
Java Technology for Wireless Industry出現的目的則是為了解決如上兩個問題,它是在JSR185中提出的。JTWI並沒有提出新的技術,也沒有提供新的API。它對J2ME的運行環境作了規范,提供了一個標准的更加嚴格的運行環境,這有效的減小了API的分裂並提高了程序的可移植性。JTWI是以一下的規范為基礎的
JSR 30 CLDC1.0 提供了基本的語言類庫,但是不支持浮點運算。可以用CLDC1.1替代1.0
JSR118 MIDP2.0 提供了圖形用戶界面、持久性存儲、game和多媒體等功能模塊的支持
JSR120 WMA1.1 提供了短消息功能的支持
另外MMAPI1.0(JSR135)是JTWI中可選的部分。提供了對多媒體的全面支持,MIDP2.0中的多媒體部分是MMAPI的子集。
JSR185對如下的一些方面進行了規范,實現JTWI的設備必須遵守這些規范