Mobile computing is characterized by many constraints: small, slow, battery-powered portable devices, variable and low-bandwidth communication links. These constraints complicate the design of mobile information systems. In our work, mobile applications, especially ones that do intensive computation and communication (such as next-generation multi-medial PCS and UMTS applications), can be divided dynamically between the wired network and the portable device according to the mobile environment and to the availability of the resources on the device, the wireless link, and the access network. To demonstrate our idea, we developed a code mobility toolkit and experimented with a resource-intense mobile application. With potentially many users executing such applications, the scalability of our approach becomes extremely important. We will briefly discuss performance prediction models based on measurements and LQNs (layered queuing networks). Our results show that it is feasible to support many users with a single dedicated proxy server in the wireless access network.