23. A computer-implemented method, comprising: receiving a user input into a user interface of an input method editor (IME); determining, based on the user input, whether to process the user input with a script engine; when the user input indicates that the user input is to be processed with the script engine: providing the user input to the script engine, selecting a script from a plurality of scripts electronically stored in a script repository, establishing a network connection with a web-based service based on instructions provided in the script, providing at least a portion of the user input to the web-based service, receiving a response from the web-based service, and providing the response to an IME engine to display the response to a user; when the user input indicates that the user input is not to be processed with the script engine: providing the user input to the IME engine, and processing the user input with the IME engine to generate one or more candidates; and receiving an extension mode input indicating operation of the IME in an extension mode, operating the IME in the extension mode in response to receiving the extension mode input, and providing all user input to the script engine when operating in the extension mode.
24. The computer-implemented method of claim 23 , wherein the web-based service comprises at least one of a map service, a search service and a translation service.