![]() |
На чем писать сервер для браузерки/социалки?
Начинаем разработку очередного проекта "браузерку".
До этого у всех проектов серверная часть была написана на PHP. Но сейчас серверисты уходят, да и нас PHP уже давно не устраивает. На чем лучше писать сервер (по каким языкам искать новых программеров)? |
1) Чем не устраивает php? Ищите платформы без недостатков, которые вас не устраивают.
2) Понятие лучше, в вашем случае, может состоять из: быстрее, надежнее, доступнее документация и примеры, более емкий язык(быстрее пишутся приложения), наличие разработчиков. |
1) Чем не устраивает php? Ищите платформы без недостатков, которые вас не устраивают.
--------------- возможно наши серверисты просто что-то неумели. Так и не сделали на сокетах, что нам понадобится для следующих проектов..т.е. старые проекты работали запрос-ответ..что не устраивает. Как объяснили - пхп немногопоточен, поэтому на сокетах если на нем писать - слишком большая нагрузка на сервер. 2) Понятие лучше, в вашем случае, может состоять из: быстрее, надежнее, доступнее документация и примеры, более емкий язык(быстрее пишутся приложения), наличие разработчиков. ------------- в принципе вопрос скорее - для каких языков рассматривать разработчиков, при условии что приложение будет высоконагруженым, связь должна быть на сокетах? p.s. Еще и издатель не хочет что бы мы не писали сервер на ПХП). |
Я в пхп не спец, так что не буду за него говорить. На java написать сокет сервер - никаких проблем.
|
PHP не поддерживает многопоточность. Для таких целей я бы посоветовал Python или Java.
|
я бы наверно писал на java. Хотя фиг знает, никогда не писал.
|
Java оптимальный вариант. Если надо сокеты - php однозначно нафиг.
|
Цитата:
|
А причем тут фейсбук? PHP как язык сценариев для генерации html-страниц со своей задачей справляется хорошо. А PHP как сокет-сервер никакой.
|
Посоветую C++. Быстр. Хотя, конечно, для обеспечения кроссплатформенности, нужно будет делать обертки некоторым функциям, но их не должно быть много. Впрочем, полагаю, кроссплатформенность серверу не сильно-то и нужна.
|
Издатель советует C#, причем советует очень активно, мол у них почти все разработчики игр выбирают в основном его. Что меня немного удивило, так как изначально думали Java, но вот сейчас задумались.
|
bav, Плюсы круто, но адово геморно по сравнению с Java или Python.
С# - классный язык, очень нравится. Но писать на нем сервер, мне кажется, не айс.. |
carrotoff, обосновать можешь?
ЗЫ. спросил исключительно из праздного любопытства |
Цитата:
|
Цитата:
|
"SmartFox Server" для нагруженных игр подойдет отлично. К тому же, вся логика сокетов уже реализована.
"Apache Tomcat" - тоже норм вещь на Java. |
До кучи, по традиции, NodeJS предложу в качестве сервера.
|
Java или C# - если исходить из соображений что просто найти разработчиков среднего-хорошего уровня. Как правило C# / Java преподают там, где учат программированию, так что, ну не совсем идиотов наберете. На том и на другом написано куча библиотек - по десять штук на любой чих. Mono (.NET для *nix), хоть и говорят что "не готов для нужд энтерпрайз" вроде так себе даже ничего, ну, по крайней мере чего-то там на нем народ для молиьников делает. Так что может быть и кросплатформенно (если platform invoke не злоупотреблять).
С другой стороны - Java вообще тошнотворный язык, C# по-своему - тоже. Так что если себе для интереса, то как-то я бы не посоветовал, потому что тоскливо будет :) Питон - если найдете разработчиков - вполне тоже вариант. И работать интереснее. Перл - ну... если найти специалиста, то тоже вариант, но они редкость. С++ - как правило разработчиков найти не сложно, но веб-разработчиков на С++ почти не бывает. Я как-то видел С++ сервер для иргушки - так его так плохо слепили, что лучше бы уже на PHP писали, там хоть какие-то наработки есть. На С++ есть смысл делать если есть люди которые очень хорошо знают язык и с опытом работы именно для веба. Очень много людей пишущих на С++ думают, что они его знают, но на самом деле они, как правило, ошибаются. Я не знаю С++ вообще, так что меня лучше по этому поводу не спрашивать, это просто занимательный факт из области общих знаний. В Питоне, Перле и С++ нету родных инструментов по работе с потоками, но если в С++ использование каких-нибудь библиотек для этого - дело повседневной практики - в Питоне и Перле это скорее исключение из правила. В Яве и Шарпе работа с потоками на уровне языка. Но лучше всего - искать специалиста, который понимает задачу, а не владеет каким-то языком. Если человек хорошо знает какой-нибудь Эрланг, и написал уже десяток серверов на нем - то, наверняка сделает лучше, чем человек, который всю жизнь на С++ писал системные утилиты для Винды, или расставлял кнопки по формочкам в MSVS. Добавлено через 12 минут Цитата:
|
Цитата:
|
А кто говорит, что АС3 прям конфетка?
А тошнотворный потому, что зашореный кругозор - в языке умышленно не реализованы несколько основопологающих моментов программирования, такие как, например, функции высшего порядка, свободные и связанные переменные функции, отсуствие обычных функций или процедур - есть только методы объектов; вообще функции не мыслятся отдельно от объектов которым принадлежат. Абстракции, которые в других языках зачастую решаются элементами языка, в Яве нужно решать реализовывая большие схемы (шаблоны проектирования), что добавляет много рутинной работы. Ява, вполне хороший язык для задачь, где не требуется много умственных усилий, и все можно решить бюрократией. Но для решения интересных проблем она плохо подходит. |
На с++ не пишите. Писать на нем дольше, накосячить легче. На нем можно только если есть мегамонстры этого языка (но тогда думаю вопрос бы не стоял).
|
Цитата:
А вот по второй части имею возражение - то, что вы описали, называется высокоуровневостью языка. Java является языком среднего уровня. А ваше замечание, если его усилить, сводится к "asm - отстой, на нем нужно писать много кода". На java часто приходится писать больше чем на том же as3, но эта проблема легко решается использованием фреймворков и собственных наработок. |
Нет, читайте "Структуру и интерпретацию компьютерных програм" - там как раз описывается что имеется в виду, когда говорят об уровнях и абстракции. В Яве чаще сделано с точностью до наоборот. Но, это не совсем недостаток, это как жаловаться на то, что регулярными выражениями нельзя распарсить рекурсивно определенные грамматики. Ну, как бы нельзя, есть инструменты более универсальные, но более сложные. Ява - это тоже так же, только небольшая часть из того, что программирование вообще может / должно уметь. Но если не пытаться решать вообще любые задачи, а только то, что Ява умеет делать - то ок, но мне бы все равно было противно изза того, что куча писанины.
|
Написано много, и есть интересные тезисы, но есть еще один вопрос.
Если не привязыватся к языку написания сервера, а задатся темой как будет работать сокет в том же самом facebook, не будет проблем с коннекшеном, отправкой или получением пакетов, не будет Proxy или другие системы безопастности рубить пакеты? |
Это от фейсбука не зависит. Флэшка загружена на ваш компьютер и работает с вашего комьютера. Соединяется с вашим сокет сервером. Причем тут фейсбук? :)
|
| Часовой пояс GMT +4, время: 10:37. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.