#javascript
#javascript
Вопрос:
Я хочу создать очень упрощенный графический интерфейс, который позволит пользователю вводить несколько битов информации в форму, а затем я обработаю данные и выложу карту Google на веб-страницу, с которой пользователь взаимодействует.
Однако это будет просто запускаться на локальном компьютере вместо того, чтобы быть веб-страницей, которая предоставляется пользователю. Я хотел бы выполнить «сжатие данных» на python, поэтому я хотел бы, чтобы javascript мог передавать данные формы в функцию python, а затем выполнять некоторые действия, а затем выводить обратно на веб-страницу.
Есть ли хороший способ сделать это? Есть предложения? Я просто хочу иметь веб-форму в качестве интерфейса, потому что это кажется самым простым, но я открыт для предложений.
Ответ №1:
Пожалуйста, обратите внимание http://shootout.alioth.debian.org/u32/benchmark.php?test=allamp;lang=v8amp;lang2=python . Python работает медленнее, чем javascript; большинство движков javascript работают очень быстро.
Комментарии:
1. Под большинством вы подразумеваете только IE9 / FF4 / Chrome10 / Saf5 / Opera11
2. @Raynos: Это браузеры, а не движки JavaScript. 😉
3. @Shaz и если бы я сказал Chakra / JaegerMonkey / Crankshaft / Nitro / Carakan, большинство людей были бы потеряны.
4. @Raynos: Каркан! Этот егерь азотировал мой коленчатый вал, используя свою собственную чакру!
Ответ №2:
Если вы хотите использовать python на локальном компьютере, вы будете зависеть от клиента, имеющего его, и не только это, вам придется проверить их текущую версию и поработать дважды, чтобы заставить ее работать как для 2.X, так и для 3.X .
Я бы сделал так, как сказал mozillanerd, и работал только с javascript.
Если вы любите python, я не вижу лучшего способа сделать это, чем использовать python на вашем сервере, используя что-то вроде python-shell (для node.js ):
var PythonShell = require('python-shell');
var options = {
args: [latitude, longitude]
};
PythonShell.run('my_script.py', options, function (err, results) {
if (err) throw err;
console.log('results: %j', results);
});