Skocz do zawartości

Witaj na forum webmasterów Webax.pl.

Wyświetl nową zawartość

Ruby on Rails - alternatywa PHP - część pierwsza - wprowadzenie


  • Zaloguj się, aby dodać odpowiedź
5 odpowiedzi w tym temacie
Soanvig
Soanvig

    Początkujący

  • Użytkownik
  • PipPipPip
  • 114 postów
#1

Napisano 22 sierpień 2012 - 17:26

Mój kurs, mający być wstępem do frameworka Rails umożliwiającym dalszą pracę i poznawanie tego wynalazku, zacznę od opisania języka Ruby (w którym to pisze się aplikacje internetowe wykorzystując framework Ruby on Rails) jak i samego narzędzia, któremu głównie będzie poświęcony ten poradnik.

Ruby

Ruby to skryptowy (interpretowany, czyli nie kompilowany do postaci kodu binarnego, a jedynie czytany i rozumiany przez interpreter) język programowania. Jego najbardziej rozpoznawalną cechą jest fakt, że wszystko jest obiektem. Jeśli posiadamy jakiegokolwiek pojęcie o programowaniu zorientowanym obiektowo, możemy łatwo dotrzec zalety takiego rozwiązania.

I tak dla przykładu: wyobraźcie sobie sytuację w PHP, gdzie metoda "show" ma za zadanie wyświetlać podaną wartość (dokładnie jak "echo"):
5->show
Intepreter zwróci błąd. Dlaczego? Dlatego, że "5" nie jest obiektem. Obiektem może być jedynie zmienna lub stała.
Tymczasem w zakładzie jubilerskim...
5.show"Lorem ipsum".show
Wszystko działa należycie. Tak samo jak w PHP zmienna i stałe mogą być obiektami i w odróżnieniu od niego cała reszta. Czyli ciąg może, a nawet jest obiektem. Liczba także! Nawet funkcja jest obiektem:
funkcja1.show
Oczywiście powyższe zadziała w momencie, kiedy "funkcja1" będzie coś zwracała ;P W innym wypadku nic nam się nie wyświetli.

Kolejną ciekawostką dotyczącą tego języka jest jego całkowita modyfikowalność. I tak możemy przedefiniować gotową już funkcję do powiększania pierwszej litery stringa, aby służyła ona do powielania dwukrotnie stringu:
puts "imie nazwisko".capitalize ## Imie nazwiskoclass String	def capitalize		self * 2	endendputs "imie nazwisko".capitalize ## imie nazwiskoimie nazwisko
Wstęp pisany przy pomocy http://www.ruby-lang.org/pl/about/ gdzie można znaleźć więcej informacji o tym języku, a także nauczyć się pisać pierwsze programy ( http://www.ruby-lang...uby-w-20-minut/ ) - opis dogłębnej instalacji Ruby oraz Rails w środowisku Ubuntu oraz jego odmianach (Mint, Debian etc.) w kolejnej części tutoriala (inne dystrybucje Unixów różnią się komendami)

Ruby on Rails

Ruby on Rails jest w pełni obiektowym, opartym o model MVC frameworkiem służącym do budowania aplikacji internetowych w języku Ruby. Przy jego instalacji otrzymujemy od razu także klient serwera, sporo gotowych struktur, bazę danych SQLite, oraz kilka innych miłych dodatków.

Pracę z Ruby on Rails proponuję prowadzić w systemach linuxowych.

Generalnie moje osobiste odczucie jest nieładne: w Rails się nie pisze kodu portalu. W Rails się nakur*** portalami. Mówiąc mniej kolokwialnie - budowanie aplikacji naprawdę odbywa się niesamowicie szybko (oczywiście po zdobyciu pewnej wprawy). Rails bardzo ale to bardzo ułatwia komunikację z bazą danych (praktycznie nie jest potrzebne pisanie zapytań) odpowiednio generując konkretne metody dla każdego modelu. Automatycznie także tworzy bazę danych (właściwie to przy tworzeniu modeli w konsoli należy podać pola tabeli - każdy model ma swoją tabelę ;p). Początkowo ciężko jest się przerzucić z PHP na RoR, ale podstaw tego frameworka można się szybko nauczyć.

Także częścią mojej opinii jest to, że aplikacje pisane w RoR są o wiele bezpieczniejsze. Dlaczego? Po pierwsze: sami musimy definiować przekierowania (o tym więcej) co uniemożliwia dostęp do wrażliwych części skryptu. Po drugie: nawet w przypadku przełamania zabezpieczeń (np. odgadnięcia hasła do uploadu), programy typu backdoor wgrane na serwer nie mają szans o ile nie są napisane w samym Rubim, a na to akurat mała szansa. A to dlatego, że serwer przecież nie zintepretuje języka PHP skoro jest nastawiony na Ruby.

Kolejnym ważnym argumentem, który spycha PHP na dno narzędzi dla webmasterów jest to, że PHP jest wolne i z tym nie można zaprzeczyć. A na Ruby o szybkość narzekać nie można.


Tak więc zapraszam do dalszych części tutoriala, które na pewno się ukażą, prędzej czy później. Jednak postaram się nie zwlekać z kolejnymi odcinkami. Mam nadzieję, że napiszę je na tyle zrozumiane, żeby nikt nie miał takich problemów z początkami (tak jak ja miałem ^^)
  • 1

[font="Courier;"].oooooooo8....ooooooo......o......oooo...oooo.888.........o888...888o...888......8888o..88...888oooooo..888.....888..8..88.....88.888o88..........888.888o...o888.8oooo88....88...8888..o88oooo888....88ooo88.o88o..o888o.o88o....88..[/font]


Comandeer
Comandeer

    Stały bywalec

  • Developer
  • 418 postów
#2

Napisano 22 sierpień 2012 - 18:08

Kolejnym ważnym argumentem' date=' który spycha PHP na dno narzędzi dla webmasterów jest to, że PHP jest wolne i z tym nie można zaprzeczyć

odpal PHP-FPM na nginx i porównaj z RoR na Apache Posted Image wydaje mi się, że wyniki nie będą aż tak odbiegać (takie mam wrażenie)
Czytając opis Ruby, mam wrażenie jakbym czytał o JS Posted Image tam też wszystko jest obiektem
  • 0

Moje tutoriale

Ad hominem attacks are valid arguments, and you are an idiot.


Thelleo
Thelleo

    Początkujący

  • Użytkownik
  • PipPipPip
  • 99 postów
#3

Napisano 22 sierpień 2012 - 19:03

Bardzo ciekawy wpis. Poleciał + i udało Ci się przekonać programistę PHP takiego jak ja do zainteresowania się innym językiem :P
  • 0

Dołączona grafika


Luke
Luke

    Początkujący

  • Użytkownik
  • PipPipPip
  • 97 postów
#4

Napisano 22 sierpień 2012 - 22:08

Ja również się zainteresowałem i z niecierpliwością czekam na kolejne części tutoriala. Polecasz jakieś hostingi z obsługą Rubiego?

w Rails się nie pisze kodu portalu. W Rails się nakur*** portalami.

To mnie zachęciło. :)
  • 0

Soanvig
Soanvig

    Początkujący

  • Użytkownik
  • PipPipPip
  • 114 postów
#5

Napisano 23 sierpień 2012 - 10:23

Nie ma za bardzo darmowych, co najwyżej Heroku. A tak to płatne ;P
  • 0

[font="Courier;"].oooooooo8....ooooooo......o......oooo...oooo.888.........o888...888o...888......8888o..88...888oooooo..888.....888..8..88.....88.888o88..........888.888o...o888.8oooo88....88...8888..o88oooo888....88ooo88.o88o..o888o.o88o....88..[/font]


Thelleo
Thelleo

    Początkujący

  • Użytkownik
  • PipPipPip
  • 99 postów
#6

Napisano 23 sierpień 2012 - 12:36

Ostatnio zainteresowałem się ofertą MyDevil.net, którzy wspierają Ruby on Rails, a także inne frameworki webowe i z tego co widzę po wiki mają bardzo ułatwioną instalację wszystkiego. Za 15zł/mc mamy całkiem przyjemny serwer.
  • 0

Dołączona grafika