Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   На чем писать сервер для браузерки/социалки? (http://www.flasher.ru/forum/showthread.php?t=179760)

F10 21.05.2012 12:13

На чем писать сервер для браузерки/социалки?
 
Начинаем разработку очередного проекта "браузерку".
До этого у всех проектов серверная часть была написана на PHP. Но сейчас серверисты уходят, да и нас PHP уже давно не устраивает.

На чем лучше писать сервер (по каким языкам искать новых программеров)?

kackbip 21.05.2012 12:37

1) Чем не устраивает php? Ищите платформы без недостатков, которые вас не устраивают.
2) Понятие лучше, в вашем случае, может состоять из: быстрее, надежнее, доступнее документация и примеры, более емкий язык(быстрее пишутся приложения), наличие разработчиков.

F10 21.05.2012 12:49

1) Чем не устраивает php? Ищите платформы без недостатков, которые вас не устраивают.
---------------
возможно наши серверисты просто что-то неумели. Так и не сделали на сокетах, что нам понадобится для следующих проектов..т.е. старые проекты работали запрос-ответ..что не устраивает.
Как объяснили - пхп немногопоточен, поэтому на сокетах если на нем писать - слишком большая нагрузка на сервер.

2) Понятие лучше, в вашем случае, может состоять из: быстрее, надежнее, доступнее документация и примеры, более емкий язык(быстрее пишутся приложения), наличие разработчиков.
-------------
в принципе вопрос скорее - для каких языков рассматривать разработчиков, при условии что приложение будет высоконагруженым, связь должна быть на сокетах?

p.s. Еще и издатель не хочет что бы мы не писали сервер на ПХП).

kackbip 21.05.2012 12:53

Я в пхп не спец, так что не буду за него говорить. На java написать сокет сервер - никаких проблем.

carrotoff 21.05.2012 13:01

PHP не поддерживает многопоточность. Для таких целей я бы посоветовал Python или Java.

Aquahawk 21.05.2012 13:02

я бы наверно писал на java. Хотя фиг знает, никогда не писал.

DaFive 21.05.2012 13:38

Java оптимальный вариант. Если надо сокеты - php однозначно нафиг.

Bgg 21.05.2012 13:46

Цитата:

Сообщение от F10 (Сообщение 1080511)
1) Чем не устраивает php? Ищите платформы без недостатков, которые вас не устраивают.
---------------
возможно наши серверисты просто что-то неумели. Так и не сделали на сокетах, что нам понадобится для следующих проектов..т.е. старые проекты работали запрос-ответ..что не устраивает.
Как объяснили - пхп немногопоточен, поэтому на сокетах если на нем писать - слишком большая нагрузка на сервер.

2) Понятие лучше, в вашем случае, может состоять из: быстрее, надежнее, доступнее документация и примеры, более емкий язык(быстрее пишутся приложения), наличие разработчиков.
-------------
в принципе вопрос скорее - для каких языков рассматривать разработчиков, при условии что приложение будет высоконагруженым, связь должна быть на сокетах?

p.s. Еще и издатель не хочет что бы мы не писали сервер на ПХП).

Facebook люди написали на php, а игрушку нельзя, ага.

DaFive 21.05.2012 13:49

А причем тут фейсбук? PHP как язык сценариев для генерации html-страниц со своей задачей справляется хорошо. А PHP как сокет-сервер никакой.

bav 21.05.2012 15:47

Посоветую C++. Быстр. Хотя, конечно, для обеспечения кроссплатформенности, нужно будет делать обертки некоторым функциям, но их не должно быть много. Впрочем, полагаю, кроссплатформенность серверу не сильно-то и нужна.

F10 21.05.2012 15:59

Издатель советует C#, причем советует очень активно, мол у них почти все разработчики игр выбирают в основном его. Что меня немного удивило, так как изначально думали Java, но вот сейчас задумались.

carrotoff 21.05.2012 16:05

bav, Плюсы круто, но адово геморно по сравнению с Java или Python.

С# - классный язык, очень нравится. Но писать на нем сервер, мне кажется, не айс..

TanaTiX 21.05.2012 16:29

carrotoff, обосновать можешь?

ЗЫ. спросил исключительно из праздного любопытства

kackbip 21.05.2012 17:17

Цитата:

Сообщение от carrotoff (Сообщение 1080547)
bav, Плюсы круто, но адово геморно по сравнению с Java или Python.

С# - классный язык, очень нравится. Но писать на нем сервер, мне кажется, не айс..

Судя по отзывам спецов .NET и Java примерно на одном уровне держатся. Так что Java или C# - вроде нет боьлшой разницы. Единственное стоит уточнить на сколько в linux хороша поддержка .Net.

etc 21.05.2012 17:27

Цитата:

Сообщение от Bgg (Сообщение 1080528)
Facebook люди написали на php, а игрушку нельзя, ага.

Что, неужели кто-то думает, что фейсбук до сих пор на пыхе написан?

toFL 21.05.2012 18:17

"SmartFox Server" для нагруженных игр подойдет отлично. К тому же, вся логика сокетов уже реализована.
"Apache Tomcat" - тоже норм вещь на Java.

Astraport 21.05.2012 18:48

До кучи, по традиции, NodeJS предложу в качестве сервера.

wvxvw 21.05.2012 20:53

Java или C# - если исходить из соображений что просто найти разработчиков среднего-хорошего уровня. Как правило C# / Java преподают там, где учат программированию, так что, ну не совсем идиотов наберете. На том и на другом написано куча библиотек - по десять штук на любой чих. Mono (.NET для *nix), хоть и говорят что "не готов для нужд энтерпрайз" вроде так себе даже ничего, ну, по крайней мере чего-то там на нем народ для молиьников делает. Так что может быть и кросплатформенно (если platform invoke не злоупотреблять).
С другой стороны - Java вообще тошнотворный язык, C# по-своему - тоже. Так что если себе для интереса, то как-то я бы не посоветовал, потому что тоскливо будет :)
Питон - если найдете разработчиков - вполне тоже вариант. И работать интереснее.
Перл - ну... если найти специалиста, то тоже вариант, но они редкость.
С++ - как правило разработчиков найти не сложно, но веб-разработчиков на С++ почти не бывает. Я как-то видел С++ сервер для иргушки - так его так плохо слепили, что лучше бы уже на PHP писали, там хоть какие-то наработки есть. На С++ есть смысл делать если есть люди которые очень хорошо знают язык и с опытом работы именно для веба. Очень много людей пишущих на С++ думают, что они его знают, но на самом деле они, как правило, ошибаются. Я не знаю С++ вообще, так что меня лучше по этому поводу не спрашивать, это просто занимательный факт из области общих знаний.
В Питоне, Перле и С++ нету родных инструментов по работе с потоками, но если в С++ использование каких-нибудь библиотек для этого - дело повседневной практики - в Питоне и Перле это скорее исключение из правила. В Яве и Шарпе работа с потоками на уровне языка.

Но лучше всего - искать специалиста, который понимает задачу, а не владеет каким-то языком. Если человек хорошо знает какой-нибудь Эрланг, и написал уже десяток серверов на нем - то, наверняка сделает лучше, чем человек, который всю жизнь на С++ писал системные утилиты для Винды, или расставлял кнопки по формочкам в MSVS.

Добавлено через 12 минут
Цитата:

Сообщение от etc (Сообщение 1080556)
Что, неужели кто-то думает, что фейсбук до сих пор на пыхе написан?

По поводу Фейсбук ПХП: http://www.sdtimes.com/blog/post/201...P-runtime.aspx это самая свежая достоверная информация, которую я мог найти. Т.е. Это все-таки ПХП, и они еще и над ним работают, чего-то там улучшают... В том смысле что ПХП это только веб, а не сервер приложений / баз данных, ну так так вроде всегда и было, не?

kackbip 21.05.2012 21:21

Цитата:

Сообщение от wvxvw (Сообщение 1080613)
Java вообще тошнотворный язык, C# по-своему - тоже.

Можно пару аргументов по этому вопросу. Мне java нравится больше чем as3.

wvxvw 21.05.2012 21:53

А кто говорит, что АС3 прям конфетка?
А тошнотворный потому, что зашореный кругозор - в языке умышленно не реализованы несколько основопологающих моментов программирования, такие как, например, функции высшего порядка, свободные и связанные переменные функции, отсуствие обычных функций или процедур - есть только методы объектов; вообще функции не мыслятся отдельно от объектов которым принадлежат. Абстракции, которые в других языках зачастую решаются элементами языка, в Яве нужно решать реализовывая большие схемы (шаблоны проектирования), что добавляет много рутинной работы. Ява, вполне хороший язык для задачь, где не требуется много умственных усилий, и все можно решить бюрократией. Но для решения интересных проблем она плохо подходит.

-De- 21.05.2012 23:32

На с++ не пишите. Писать на нем дольше, накосячить легче. На нем можно только если есть мегамонстры этого языка (но тогда думаю вопрос бы не стоял).

kackbip 22.05.2012 09:51

Цитата:

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

На счет первой части спорить не буду, хотя и не понимаю зачем нужны функции в ООП языке.
А вот по второй части имею возражение - то, что вы описали, называется высокоуровневостью языка. Java является языком среднего уровня. А ваше замечание, если его усилить, сводится к "asm - отстой, на нем нужно писать много кода". На java часто приходится писать больше чем на том же as3, но эта проблема легко решается использованием фреймворков и собственных наработок.

wvxvw 22.05.2012 15:21

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

Alex_McX 05.06.2012 12:51

Написано много, и есть интересные тезисы, но есть еще один вопрос.
Если не привязыватся к языку написания сервера, а задатся темой как будет работать сокет в том же самом facebook, не будет проблем с коннекшеном, отправкой или получением пакетов, не будет Proxy или другие системы безопастности рубить пакеты?

kackbip 06.06.2012 08:05

Это от фейсбука не зависит. Флэшка загружена на ваш компьютер и работает с вашего комьютера. Соединяется с вашим сокет сервером. Причем тут фейсбук? :)


Часовой пояс GMT +4, время: 10:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.