Можно ли использовать несколько языков программирования на одном сайте? - PullRequest
12 голосов
/ 16 июня 2010

Предположим, у меня есть один веб-сайт с простыми страницами в php, например

page1.php
page2.php

Теперь есть одна страница, на которой я хочу детализировать функционирование, и я хочу использовать для этого python, и она будет выглядеть как

page3.py

и на другой странице я хочу использовать java как

page4.jsp

При условии, что я установил python, java на веб-сервере.

Возможно ли это?

Ответы [ 8 ]

22 голосов
/ 16 июня 2010

Да.Возможно.Когда вы окажетесь в беде, вы захотите поделиться с ними серверной информацией (сеансы IE).

Кроме этого, вы можете использовать (но я бы посоветовал против) все языки, которые вы хотите на веб-сайте.

10 голосов
/ 16 июня 2010

Да, это возможно, но вам определенно НЕ следует это делать.

Связь между страницами, использующими разные технологии, не будет элегантной, если только по той причине, что вы не получите общий пул сеансов. Сессионные мосты возможны, но это трудная задача.

Я бы сказал, что вы делаете ошибку, если вы не можете просто выбрать один язык для своего основного веб-слоя.

5 голосов
/ 16 июня 2010

Это зависит от веб-сервера. Apache может это сделать. Просто убедитесь, что у вас есть соответствующие модули обработчиков для каждого типа файлов, и используйте директиву конфигурации AddHandler , чтобы сопоставить каждый тип с соответствующим обработчиком.

5 голосов
/ 16 июня 2010

Да, это очень возможно, если сервер может обслуживать файлы, которые вы хотите использовать. Если у него нет python, вы не можете использовать python.

4 голосов
/ 16 июня 2010

Кроме того, чтобы быть педантичным, вы можете не только использовать все три из них, но и реально интегрировать их на уровне сеанса, поскольку все эти языки доступны в JVM.Таким образом, в одном контейнере вы можете запустить весь код PHP, Python и Java.Вы можете поделиться состоянием сеанса, повторно использовать соединения с базой данных (через пулы соединений на уровне сервера), использовать библиотеки Java в вашем PHP и / или коде Python и т. Д.бросить "легко, но возможно, и даже практично, если вам нужна такая тесная интеграция (против интеграции через базу данных или файловую систему).Вероятно, будут некоторые нюансы в обеспечении правильной работы кода Python и PHP на реализациях Java.

3 голосов
/ 16 июня 2010

Краткий ответ: Да, многие веб-серверы могут обрабатывать создание страниц на нескольких языках.

1 голос
/ 16 июня 2010

Люди говорят о сеансе ...

Почти все технологии на стороне сервера сегодня поддерживают нестандартные поставщики сеансов, где вы можете подключить некоторый код, чтобы разделить ваш сеанс между различными модулями HTTP и связывателями.1004 * Если вы начинаете писать веб-сайт с нуля и вам нужно написать весь свой код для себя, то, вероятно, вы решите сделать это на одном языке программирования (только для вашего удобства кодирования).

Но ... где все это начинает меняться?Когда вы хотите смешать некоторый открытый исходный код и исходный код сообщества для создания веб-сайта.Допустим, магазин и сообщество с ASP.NET смешиваются с CRM, как Sugar CRM (который находится на PHP).В этом случае вам не нужно делиться сессиями, только процедура синхронизации пользователей в БД.Кроме того, если вы выберете IIS 7 (Windows Server) или Apache (используя проект Mono, вы можете запустить ASP.NET на LAMP), вы можете запустить их оба на одной машине.

И помните, самое важное ВРЕМЯ НА РЫНОК !Поэтому экономия времени на коде может иметь решающее значение для вашего успеха.

НАСЛАЖДАЙТЕСЬ!

0 голосов
/ 16 июня 2010

Я работаю в компании по разработке PHP, и все время эти компании ASP.Net приходят к US по любой причине, которую я никогда не понимал.Мы создаем их формы в PHP, обычно динамически вытягивая макет - иногда размещаемый на поддомене, иногда размещаемый непосредственно в IIS с помощью модуля PHP.Это очень грязно и плохо, это можно сделать, но я бы сказал, избегайте этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...