najbardziej przyszłościowe standardy programowania dla web?

0

witam

Jakiś czas temu zacząłem swoją przygodę z projektowaniem stron www. Opanowałem dość szybko HMTL'a, XHTML'a, CSS, CSS2 i częściowo PHP (czyli ogólne podstawy).

Chcę zapytać doświadczonych programistów jaki język wydaje się być najbardziej przyszłościowy? Który daje nam największe możliwośći i stabilność? Który pozwoli na budowę zaawansowanych technologicznie serwisów / portali / vortali? Chcę już dosyć poważnie wejść w ten temat dlatego wole pytać ludzi, którzy mają już doświadczenie w tej dziedzinie.

Czytałem już na temat wielu standardów programowania i doznałem mieszanych uczuć na temat ich użyteczności.

Zastanawiam się, np. czy nauka programowania w środowisku .NET jest przyszłościowa i czy przyniesie dalej korzyści i możliwość rozwoju. Nachodzi mnie tu też przykra myśl, która wiąże się ze swego rodzaju uzależnieniem od Microsoftu.

Proszę o rady i opinie,
z góry dziękuje i pozdrawiam

0

ASP.NET do tworzenia stron? Mniam!

W profesjonalnych rozwiązaniach jest sporo PHP, bardzo dużo Java Server Pages i trochę ASP.NET i udział tego ostatniego akurat się zwiększa, popularne jest to też na portalach wewnątrzkorporacyjnych (także dzięki Sharepoint i takim tam).

Ostatnio gdzieś pisali, na czym chodzą jedne z największych witryn internetowych. Chyba najpopularniejsza obecnie, MySpace chodzi na IIS6/Windows2003 i ASP.NET 2.0. W Polsce Gazeta.pl przykładowo jest w JSP.

Warto też spojrzeć na RubyOnRails, który może wejść w pewną niszę bądź nawet wygryźć z rynku PHP.

0

Python + różne frameworki jak Django czy Pylons!

Python ma większe możliwości od PHP (mówię tutaj akurat o zastosowaniach www, w końcu Python nie tylko do tego się nadaje), jest łatwiejszy, przyjemniejszy, o stokroć potężniejszy i moim zdaniem po prostu lepszy. W sumie to PHP nawet nie ma co porównywać do Pythona. Myślę, że za jakiś czas może stać się nawet i bardziej popularny od PHP - na dzień dzisiejszy konkuruje z Ruby i znanym frameworkiem Rails, z którym wg moich obserwacji wygrywa, np. szybkością. Grono.net zostało ostatnio przepisane na Pythona/Django. Coraz więcej pojawia się ofert dla programistów Python/Django, które są dobrze płatne.

Do Pythona masz też tysiące porządnych i potężnych modułów.

Co do .NET to nie będę się tutaj szeroko wypowiadał, bo jeszcze zostanę zaatakowany przez jakiegoś fana :), ale te całe ASP.NET to moim zdaniem szajs i nie ma zbyt dużej przyszłości. Zamknięte, .NET-owe (czytaj Windows only). To wystarczy, by ostro zniechęcić do chociażby samej nauki, jak dla mnie.

PS. Google w swoich aplikacjach webowych (jak Gmail, Groups, Docs, Calendar, Notebook, i wiele, wiele innych), czy NASA korzystają z Pythona.

0

ASP.NET jest co prawda ciekawy ale stawianie powaznych serwisow na Windows to raczej nie to (nawet MSN stoi na FreeBSD - stad pewnie Rotor :)).

JSP... nie mialem z tym stycznosci wiec niestety sie nie wypowiem.

Jesli chodzi o PHP to jezyk ten (srodowisko) jest "brudny", rozne konwencje nazywania funkcji, niby to jest obiektowo zorientowane ale standardowa biblioteka jest wciaz strukturalna (chociaz pisana obiektowo).

Ruby, za wiele kontaktu nie mialem ale skladnia strasznie mi sie nie podoba (jestem zwolennikiem c-style) i w ogole jakies takie dziwne.

0

Coldpeer: .NET jest otwartym standardem, myślisz że dlaczego mogło powstać Mono?

Nie trzeba daleko szukać:

Wikipedia napisał(a)

W sierpniu 2000 Microsoft, Hewlett-Packard i Intel wspólnie złożyły specyfikację Common Language Infrastructure i języka C# do ECMA jako propozycję standardu. Prace nad nimi odbywały się w ramach komitetu TC39 w podgrupach TG3 i TG2, przy współudziale m.in. IBM i Fujitsu. Zostały one ostatecznie zatwierdzone w grudniu 2001 jako ECMA-334 (CLI) i ECMA-335 (C#), a opis techniczny jako TR/84, a następnie przekazane do akceptacji przez ISO.

W kwietniu 2003 ISO uznało nadesłane standardy, nadając im numery ISO/IEC 23270 (C#), ISO/IEC 23271 (CLI) oraz ISO/IEC 23272 (CLI TR), a ECMA przyjęła je jako drugie wydanie swoich standardów.

Wolverine: a jednak w ASP się da, powyżej przykład podał Ktoś ;)

Ale ogólnie nie wypowiadam się, sam programuje w PHP, ale zdaje sobie sprawę z ułomności tegoż języka :P

0
Kooba napisał(a)

Coldpeer: .NET jest otwartym standardem, myślisz że dlaczego mogło powstać Mono?

Chodzi mi o zamknięty kod źródłowy ;)

Co do MONO - jest, ale w każdej chwili może przestać istnieć, jeśli Microsoftowi będzie to na rękę...

@Wolverine:

Zgadzam się co do serwerów. Co do Rotor to się lepiej nie będę wypowiadał, bo to moim zdaniem jakaś paranoja.

A co do Ruby, to składnia może trochę zniechęcać (początkowo, z przyzwyczajeń z innych języków), ale potem okazuje się, że nie taki diabeł straszny. Python ma podobna składnię. W Pythonie jest jeszcze taki fajny ficzer, że bloki kodu (jak klamry z C i pochodnych, begin...end z Pascala) są oznaczane jako białe znaki (może być jedna spacja, może być i 5, może być i tabulator - ważne, aby się trzymać konwencji, której się przyjęło w danym bloku, np.:

if x:
  y
  z
else:
  n

Ale to tak BTW :)

0
Coldpeer napisał(a)

Co do MONO - jest, ale w każdej chwili może przestać istnieć, jeśli Microsoftowi będzie to na rękę...

dlaczego?

0
Kooba napisał(a)
Coldpeer napisał(a)

Co do MONO - jest, ale w każdej chwili może przestać istnieć, jeśli Microsoftowi będzie to na rękę...

dlaczego?

Hm, tutaj Ci powiem, mnie trochę zagiąłeś :P
Przynajmniej tak mi się wydaje i nie tylko mi. Nie wiem do czego MS może być zdolny, jak chcą, to mogą. :)

0
Coldpeer napisał(a)

Przynajmniej tak mi się wydaje i nie tylko mi. Nie wiem do czego MS może być zdolny, jak chcą, to mogą. :)

Troche sie zagalopowales :P Chca, zeby Linux i 'inne wrogie systemy' przestaly istniec, ale jakos nie moga :P

0

Witam

Co do języka po stronie serwerowej to w zasadzie zależy tylko od kosztów danego czy firma wybierze php,J2EE, .NET czy
tez jakieś inne.
Natomiast zwróciłbym uwagę na (moim zdaniem) rosnąca rolę technoilogi po stronei klienta. Javascript przestał być zabawką dzieci z liceum do tworzenia wyskakujących okienek, również flash jest wart uwagi.
Te elementy stanowią już integralną częsć tworzonych serisów, zoabczcie chociazby proces zakupu na orange.pl

pozdrawiam

0

Msn.com, jak i Live.com chodzą pod Windows 2003/IIS6 i ASP.NET 2.0. Jedyne co w serwisach Microsoftu nie jest na ich platformie to load balancery i serwery proxy firmy Akamai, pod Linuksem albo FreeBSD chodzące chyba.

ASP.NET jest po prostu piękne od strony programisty i mówię to pomimo całego mojego przywiązania do PHP. Kontrolki, prawdziwy RAD, olbrzymia biblioteka klas i gotowych rozwiązań. I Visual Studio. Cholernie wygodne. Sam pamiętam gdy coś, co robiłem w PHP około 20 minut (filtrowanie i walidacja danych wejściowych) znajomy na prezentacji ASP.NET zrobił w 5 kilkoma kliknięciami i jeszcze dwoma błędami, bo nie ustawił jednej kontrolce jednej opcji.

Python+Django też wydaje sie ciekawe, obecnie PHP z różnymi wspomagaczami w postaci Cake czy CodeIgnitera też daje duże możliwości szybkiego (stosunkowo) pisania aplikacji. Ale PHP dalej jest brudne, wiele ma nieścisłości i takich tam. Teraz sie to nieco poprawia.

Fakt też, że po stronie klienta się coraz więcej pojawia, od kiedy "odkryto" Ajaksa. Adobe ze swoim Flexem też może coś namieszać, ale sam Flash jako taki to widzę go obecnie albo w stronach wizytówkach albo w reklamach. Mimo iż zwiększana jest jego dostępność i usuwane niektóre wady. Tak samo po stronie klienta nareszcie nurt tworzenia zgodne z regułami coraz bardziej staje się widoczny.

A co do Microsoftu - nie taki zły, jak go miłośnicy GNU malują. Z jednej strony niby te patenty, umowy z Novellem czy innym RedHatem, z drugiej Port25, otwarte programy, wspomaganie (choćby wiedzą) projektów w rodzaju Mono, oficjalne błogosławieństwo konwertera OpenXML <-> OpenDocument, wsparcie (!) dla kilku dystrybucji Linuksa na Virtual Server R2... Świat się zmienia moi drodzy :-)

0
PawelW napisał(a)

Natomiast zwróciłbym uwagę na (moim zdaniem) rosnąca rolę technoilogi po stronei klienta. Javascript przestał być zabawką dzieci z liceum do tworzenia wyskakujących okienek, również flash jest wart uwagi.

Flash owszem - dla stronek jakiś artystów... JS to średnio. Pomijając to że jest zależny od widzimisie przeglądarki, to ciężko w tym napisać coś poważnego bez dużego nakładu pracy.

W sumie to popieram Ktosia. Dziś właśnie wróciłem z konferencji MS na temat otwartych standardów no i chyba MS zmienia powoli politykę. Dokładniej chodziło o otwarty standard OpenXML. Dobra rzecz (porównując do poprzedniego standardu). <ot>Mam nadzieje, żę będą jakieś kontrolki do obsługi tego :)</ot>

@Wolverine
Generalnie nie masz racji. Na dłuższą metę rozwiązania MS (czyli IIS, SQL Server, ASP.net) okazują się bardziej wydajne. Oczywiście wszystko zależy od projektu systemu i funkcji jaką pełni. PHP nadaje sie IMO do rzeczy mniejszych i jest na pewno szybszy. Jednak przy dużym obciążeniu (w połączeniu z Apachem po prostu nie daje rady).

0

Flash owszem - dla stronek jakiś artystów... JS to średnio. Pomijając to że jest zależny od widzimisie przeglądarki, to ciężko w tym napisać coś poważnego bez dużego nakładu pracy.

Też kiedyś byłem w tym przeświadczeniu , zanim nie musiałem tego mimo wszystko użyć. Pisanie czegoś większego w JavaScript od samego pcozątku jest faktycznie dla masochistów , ale naprqawdę już jest takie wsparcie ze strony zewnętrznych bibliotek ,że wykrycie przegladarki ogranicza sie do wywołanai jednej funkcji. Ponadto wiele powtarzajacego się kodu generują odpowiednie frameworki.

Co do flasha naprawdę najwyższa pora przestać patzreć na to narzędzie jako zabawkę dla grafików. Z tego co wiem pojawił się nowy standard ActionScript 3.0 z pełnym wsparciem dla pisania obiektowego. Daje to duże możliwości pisania tworzenia bardzo elastycznych interaktywnych interfejsów po stronie klienta.

Podział zadań jest prosty : graficy przygotowują bibliotekę symboli, zaś programiści tworza logikę działania.

Według mnie w przysżłości jeśli chodzi o aplikacje sieciowe zmieni się duzo jesl.i chodiz o procent wykorzystania logiki klienta.

Generlanie znam przykład z życia ,iż osoba znajaca profesjonalnie flasha i J2EE moze przebierac w ofertach pracy.

pozdrawiam

0

Ja chciałbym jeszcze zwrócić uwagę chociażby na to, że nie każdy posiada Flash Playera (np. ja) oraz nie każdy posiada włączone/posiada w ogóle ( ;)) JavaScript.

Zresztą jakby nie patrzeć JavaScript to tylko język client side, dzięki któremu możemy urozmaicić prezentację danych. Flash tak samo, choć można go integrować z językami server side, jak PHP. Osobiście mnie stronki zrobione we Flashu tylko irytują, przez co nie instaluję nawet Flash Playera.

0

Zresztą jakby nie patrzeć JavaScript to tylko język client side, dzięki któremu możemy urozmaicić prezentację danych.

Nie wiem, czy TYLKO, czy może AŻ client side. Robienie maksymalnie dużej ilości rzeczy po stronie klienta to:

  1. szybkość reakcji
  2. odciążenie serwera
    No i za pomocą JavaScript można zrobić sporo więcej, niż tylko "urozmaicić" prezentację (chociaż już samo to kazałoby się nim zainteresować). Dobrym zastosowaniem jest np wstępna weryfikacja danych przed wysłaniem do serwera i natychmiastowa reakcja na błędy. Albo różnorodne przetwarzanie informacji odebranych z serwera, żeby biednej bazy danych bez przerwy nie molestować - np w tak banalnym celu, jak zmiana sortowania pobranych już rekordów.

Ogólnie: oprogramowanie po stronie klienta jest tak samo ważne, jak po stronie serwera, i nie powinno się go lekceważyć. Prezentacja teoretycznie nie powinna być, ale faktycznie jest czynnikiem niemniej istotnym niż treść (a w pewnych kręgach stanowi wartość kluczową).

Osobiście mnie stronki zrobione we Flashu tylko irytują, przez co nie instaluję nawet Flash Playera.

Też tak mam w przypadku Flasha, ale wiem, że to jest zboczenie ;) Za bardzo jestem przyzwyczajony do kodu źródłowego, punktowanych list i plików tekstowych ;)

0

Ranides, z jednej strony masz trochę racji, ale są właśnie przypadki nieumiejętnego nadużywania różnych JavaScript-owych bajerów oraz - co do np. takiej weryfikacji - ok, ficzer dobry, ale należy wziąć też pod uwagę, że nie każdy przeglądając stronę posiada aktywną interpretację JavaScript.

Niemniej jednak stwierdzam, że - moim zdaniem - oprogramowanie server side jest bardziej ważniejsze od różnych dodatków zrealizowanych poprzez język client side (jak np. wspomniana weryfikacja wprowadzanych danych, czy jakieś podobne rzeczy).

Nie jestem też absolutnym przeciwnikiem JavaScript, nie mówię, że jest złe, nie przydatne i nie ważne - ale nie ważniejsze. Podoba mi się sporadyczne użycie w serwisie, jak np. tutaj, na 4programmers.net - sprawdzanie, czy użytkownik wypełnił opis zmian przy edycji artykułów, jakiś ajax gdzieniegdzie (o, pisze się to razem? - Firefox nie podkreślił błędu), bbcode (a właściwie tylko przyciski wstawiające coś do formularza) czy szybka edycja.

Tyle ode mnie. :P

// edited:

Ktos napisał(a)

Weryfikacja danych na przykład POWINNA być dwustopniowa

Zgadzam się w zupełności. :)

0

Nie posiadających aktywnego JS jest naprawdę bardzo mało. Ale systemy buduje się w taki sposób, że warstwa zachowania jest dodawana przez sam JS, natomiast standardowo wykorzystuje się wszystko po stronie serwera, a wszystkie skrypty to tylko dodatki.

Weryfikacja danych na przykład POWINNA być dwustopniowa, a zastosowanie JS pozwala na wykrycie wcześniej błędów, przeformatowanie numeru telefonu do odpowiedniej postaci, korzystając z asynchronicznych zapytań można też np. sprawdzić "na bieżąco" czy danego e-maila nie ma w bazie danych. To znacząco podnosi użyteczność serwisu, w ogóle nieinwazyjny JavaScript podnosi użyteczność serwisu. A że po stronie serwera trzeba sprawdzić dane raz jeszcze to co innego.

A swoją drogą dostępne są świetne darmowe i otwarte frameworki dla JS - prototype, jQuery, script.aculo.us. Pisanie JS nigdy nie było tak proste - ta sama tendencja co w przypadku RubyOnRails, PHP+Cake/CodeIgniter, Python+Django itd.

I dobrze. A dobrych koderów JS jest naprawdę mało i to jest skarb takiego posiadać.

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