wybór technologii ASP.NET vs. PHP ?

0

Która technologia będzie lepsza do budowy przyszłościowego, dużego portalu? W ASP.NET nic nie organizowałem, dłubałem jedynie w C# ale o środowisku webowym w platformie .NET nie mam pojęcia, natomiast z tego co się orientuję duże serwisy i portale stoją na PHP i MySQL i tym też się więcej zajmuję. Jak to wygląda z szybkością, stabilnością i bezpieczeństwem? Kolega zaproponował, by całość zbudować w oparciu o technologie .NET ...

1

duże serwisy i portale stoją na PHP i MySQL

Ten tandem jest najpopularniejszy w małych przedsięwzięciach, ewentualnie w dużych, ale źle zaplanowanych. PHP się nie skaluje, wybierz Javę/ .NETa. Javę (wraz z językami na JVM, typu Scala, Clojure, JRuby, etc) i Pythona możesz przetestować za darmo na: code.google.com/appengine/ Na App Engine skalowalność masz za darmo i płacisz tylko za to, co wykorzystasz.

0

JAVA to brzmi... powolnie o.O czyż nie? Przynajmniej takie stwierdzenie słyszałem już u wielu osób, jeśli całość miała by być na tym oparta (choć sam za bardzo na temat javy się nie wypowiadam, bo nie znam). Jeśli chodzi o .NET, do tego potrzebny jest jakiś specjalnie skonfigurowany serwer, można łączyć jakoś te technologie z PHP?

0
lolq napisał(a)

Jeśli chodzi o .NET, do tego potrzebny jest jakiś specjalnie skonfigurowany serwer

No, bardzo. Instalujesz developer express, który ma II7 i normalnie na localhoście pracujesz.

0

Powinieneś rozważyć skorzystanie z Pythona i Django. Pozwala fantastycznie rozwijać portal oraz sam generuje backend. Dodatkowe zalety to także:

  • obsługa baz danych bez konieczności pisania w SQLu,
  • Python'a można zainstalować zarówno na serwerze z Windowsem jak i Linuxem
0
bartekvip napisał(a)
  • obsługa baz danych bez konieczności pisania w SQLu

Ta zaleta nie jest niczym dziwnym w .NET, wiele ORMów to umożliwia. Z tymże nie zawsze jest to wydajne.

0

Akurat z trójcy PHP/ASP.NET/JSP to PHP może nie brzmi, że jest powolne, ale jest. Bez jakichś HipHopów, APC i innych optymalizatorów aplikacja oparta na Zend Frameworku jest - z moich prywatnych testów - do 10 razy wolniejsza niż podobna aplikacja w ASP.NET MVC. Jedyną przewagą było to, że aplikacja ASP.NET się kompilowała "just in time", co czasami spowodowało, że żądanie było powolne, a PHP było równomiernie powolne.

MSSQL zamiast MySQL-a zapewni zdecydowanie więcej możliwości - pytanie, czy są one wam potrzebne. MySQL można oczywiście także używać w aplikacji ASP.NET.
Bezpieczeństwo zależy głównie od programisty, PHP z uwagi na choćby dynamiczne typowanie ma trochę sytuacji kiedy można się naciąć. PHP ma też trochę dziwnych kruczków, niejasności i nielogiczności, co jest jego wadą. Oczywistą zaletą za to jest to, że jest tańszy - ASP.NET nie potrzebuje "specjalnie skonfigurowanego serwera", ale po prostu potrzebuje IIS na Windows - a PHP uruchomisz na Apache pod darmowym Linuksem.

A duże portale chodzą pod wszystkimi liczącymi się technologiami, od PHP przez JSP do ASP.NET, jak i Ruby on Rails, Django. A czasem nawet na konglomeracie różnych, PHP może korzystać z MSSQL, ASP.NET może korzystać z MySQL, jeden i drugi może działać na serwerze IIS pod Windows, więc współpracę da się załatwić.

Zalinkuję po raz n-ty:
ASP.NET czy PHP?
PHP vs. ASP.NET

1

JAVA to brzmi... powolnie o.O czyż nie? Przynajmniej takie stwierdzenie słyszałem już u wielu osób

A nie słyszałeś przy okazji: "za komuny było lypij"? Java była wolna, ale kilkanaście lat temu.

Zestaw benchmarków pod Linuksem:
http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php

Jak widać Python, PHP itp skryptowe wypadają bardzo blado w ciężkich obliczeniach. Free Pascal i Mono są ok 2x wolniejsze od Oracle Java 7.

Wadą typowych JVMów jest to, że kompilacja w locie następuje za każdym uruchomieniem JVM i ani dane z profilowania, ani skompilowany kod nie jest nigdzie trwale przechowywany.

Google App Engine jest za darmo do dość dużych limitów. Możesz się na nim pobawić Pythonem, Javą czy innymi językami opartymi o JVM (Scala, Clojure, etc) Jak strona zdobędzie popularność to (jak to w typowej chmurze) będziesz płacił tylko za to co wykorzystasz (no ale w końcu ruch generuje zysk, no nie?).

0
Wibowit napisał(a)

duże serwisy i portale stoją na PHP i MySQL

Ten tandem jest najpopularniejszy w małych przedsięwzięciach, ewentualnie w dużych, ale źle zaplanowanych.

Napisz do Facebooka ze maja to zle zaplanowane i w ogóle zjeb***, a najlepiej zaproponuj im ktores ze swoich genialnych rozwiazan.

0

Sęk w tym, że w Facebooku mają (mieli) to źle zaplanowane i zjeb**. Sami przyznali, że w pewnym punkcie PHP przestaje się skalować i spędzili dużo czasu nad wyjściem z tej sytuacji.

1

Niestety mały móżdżek Egona tego nie pojmuje :(

PS O Facebooku i jego przygodach z PHP, Javą, C++, Erlangiem etc już było tutaj na forum. Egon po raz kolejny popisuje się swoim lenistwem.

1
Wibowit napisał(a)

Niestety mały móżdżek Egona tego nie pojmuje :(

Niestety bezmozg bobofrut nie wie za kazdy system w miare rozrostu staje sie powoli nieskalowalny. po prostu nikt nie jest w stanie od poczatku przewidziec jak bedzie sie system rozwijal. Mozna planowac ale nikt nie jest wrozka. Dlatego kazdy system z biegiem czasu wymaga refaktoryzacji lub po prostu przepisania od nowa z uwzglednieniem nowych wymagan. No ale zeby takie rzeczy wiedziec to trzeba napisac cos wiecej niz debilne demka na uczelnie.

1

A więc jeśli ktoś podejrzewa lub ma nadzieję, że jego serwis zdobędzie dużą popularność, to nie powinien go pisać w nieskalowalnym PHP. Proste i logiczne, nie?

Jeśli ma się w firmie tylko np 100 programistów PHP i 0 programistów Javy to raczej ciężko np:

  1. Wymagać od nich nauczenia się szybko Javy i przepisania do niej całego serwisu.
  2. Wyrzucić wszystkich programistów PHP, zatrudnić Javowców i kazać im w momencie napisać serwis od nowa.

A więc trzeba od razu zacząć od skalowalnej technologii. I Java na pewno taką jest.

Bobofrut oczywiscie nie widzi rozniczy miedzy "architektura systemu" a "technologia wykonania".

Widzę, ale rzadko kiedy dołożenie 10x więcej serwerów nadrobi różnicę 10x wolniejszego wykonywania kodu. Im bardziej rozproszona architektura tym większe koszty komunikacji. A więc po co bawić się w optymalizacje architektury i dokładać mnóstwo sprzętu, jeżeli można mieć lepszy efekt używając innej platformy programistycznej?

Poza tym do Javy już jest stworzonych mnóstwo skalowalnych frameworków/ bilbiotek/ podsystemów/ etc Nawet Facebook takie pisze, np Apache Cassandra czy Apache Hive. Nowy soft piszą w C++, Javie, Pythonie, Erlangu, etc a PHP się pozbywają. Jak myślisz, dlaczego?

PS:
Miłego minusowania bałwanie. Ktoś (nie wiem kto) ci minusuje posty i "mścisz" się na mnie? ROFL

1

ASP.NET lub Java EE w przypadku rozwiązań klasy Enterprise. PHP to relikt przeszłości (w moim mniemaniu).

0
Wibowit napisał(a)

Bobofrut oczywiscie nie widzi rozniczy miedzy "architektura systemu" a "technologia wykonania".

Widzę, ale rzadko kiedy dołożenie 10x więcej serwerów nadrobi różnicę 10x wolniejszego wykonywania kodu. Im bardziej rozproszona architektura tym większe koszty komunikacji. A więc po co bawić się w optymalizacje architektury i dokładać mnóstwo sprzętu, jeżeli można mieć lepszy efekt używając innej platformy programistycznej?

I mówisz że ci od FB na to nie wpadli? Tylko budują jakieś serwerownie pod kołem polarnym żeby obniżyć koszty chłodzenia? Zamiast zaimplementować to w Javie?

0

No dobra, mam czas to pogadam z trollem.

I mówisz że ci od FB na to nie wpadli? Tylko budują jakieś serwerownie pod kołem polarnym żeby obniżyć koszty chłodzenia? Zamiast zaimplementować to w Javie?

Backend FB jest w Javie, C++, Erlangu, etc. PHP jest generalnie tylko we frontendzie, tymczasowo (?) napisali HipHopa, żeby jakoś tego PHP przyspieszyć.

FB zaczynał jako prywatny projekt zwykłego studenciaka, czyli historia była bardzo podobna do naszej-klasy. Gdy popularność gwałtownie podskoczyła to obudzili się z ręką w nocniku i na gwałt szukali ludzi, którzy znali coś bardziej nadającego się niż PHP.

0

dziękuję wszystkim za odpowiedzi :)
Wiem, że i tak całość będzie kiedyś przepisana, a przynajmniej zdecydowanie większa część, ale jednak zdecyduję się na PHP i ew. jeśli będzie można łącząc to z ASP.NET , póki co większość ludzi angażujących się w projekt zna dobrze php, zaledwie 1-2 osoby dobrze orientują się w .NET ale nie będą chyba mieć problemu w przestawieniu się na PHP, poza tym to nie jest jeszcze działalność gospodarcza i póki co nikt na tym nie zarabia więc nie ma opcji by zatrudnić specjalistów od tego czy tamtego :D w miarę możliwości, czasu i zainteresowania, jeśli inni będą się dołączać z pełnym angażem to myślę, że wtedy będzie można już wybierać

1 użytkowników online, w tym zalogowanych: 0, gości: 1