Определенно возможно выполнить весь внешний интерфейс в Javascript в браузере клиента (если только вам не требуется поддержка JS-версии или очень старого браузера), сводя роль сервера к предложению интерфейса REST-ish для клиентские AJAX-вызовы (а также, разумеется, обработка статических файлов различного рода;).
Этот подход известен как архитектура тонкого сервера , и jQuery (так же, как, скажем, Dojo или Closure) подходит для реализации его клиентской части. Если вы можете ограничиться продвинутыми браузерами с вкусностями HTML5, вы можете сделать еще больше на стороне клиента, еще больше уменьшая нагрузку на ваш сервер и повышая масштабируемость (конечно, то, насколько вы можете требовать от браузера, сильно зависит от вашего приложения - если он нацелен на iPhone, Android или другие продвинутые мобильные телефоны, или если это корпоративное веб-приложение, в котором пользователи могут использовать Chrome или Safari, скажем, вы можете быть гораздо более требовательными, чем если бы вы хотели миллионы случайных пользователей в открытой сети; -).
Для серверной части я бы предложил сверхлегкие микрофреймы поверх Werkzeug и WSGI, такие как Flask или (если сервер использует App Engine) tipfy (там другие, особенно для GAE - см. здесь для списка).
Я бы не поместил бы на стороне клиента все, что требует "безопасности", хотя - поскольку весь ваш код Javascript, jQuery или нет, можно легко исследовать и взламывать, все, что вы хотите быть «безопасный» должен жить на стороне сервера.