- johan dansk
- Medlem ●
Jag kom över Rails för några timmar sen, blev positivt överraskad när jag insåg att basecamp är byggt på det.
Enligt beskrivningen, och på använderna, låter Rails lite som att det gör för webutveckling vad cocoa gör/gjorde för osx programutveckling.
Så, är det någon här som användar, eller har testat, Rails? isf vad tycker ni? lust att berätta mer, osv??
//edit: missade några ord i första meningen
Jag har inte testat Rails, men har "tittat" på det en del. Har även pratat med David Heinemeier Hansson som skapat det, frågat en massa om hur det funkar osv. Personligen är jag djupt imponerad av ramverkets smidighet, det är nog det första ramverk, alla kategorier, som jag upplever är lagom avancerat, många andra ramverk lider ju av att de är alldeles för komplicerade, och dessutom ofta ställer krav på webbapplikationens uppbyggnad, och ännu värre: att de konfigureras med xml-filer.
Det enda som egentligen hindrar mig från att jobba med Rails är att det förutsätter att man jobbar med Ruby. Jag är lite skeptisk till Ruby; inte till hur det är byggt eller dess funktionalitet, utan dess syntax, den ger mig avsmak. Synd det, för annars verkar det vara ett riktigt trevligt språk.
Jag förutsätter att du redan har kollat in Rails och dess Wiki, eftersom du ju är intresserad av att veta mer om det, så därefter kan du ju gå in på deras irc-kanal, #rubyonrails på irc.freenode.net. David själv brukar hålla till där en hel del, och han och andra svarar mer än gärna på frågor om Rails.
Jag har i stort set aldrig pillar med Ruby innan, så det hela känns minst sagt främmande.. Ägnade precis en kvart åt den första delen tutorial'n på deras sida, men eftersom jag satt och jobbade med nått annat samtidigt hann jag inte plocka upp/förstå så mycket av det än så länge.
Får sitta och studerar lite på det hela någon kväll i lugn och ro tror jag.
tjogin, håller med dig, syntaxen känns allmänt konstig, men detsamma tyckte jag när jag började med python vilket hann ändrar sig, får se vad tiden visar om det...
tjogin, håller med dig, syntaxen känns allmänt konstig, men detsamma tyckte jag när jag började med python vilket hann ändrar sig, får se vad tiden visar om det...
Jag har aldrig haft några problem med Pythons syntax, den känns rätt skön och familjär. Om det är något som är drygt med Python så är det nog att det är whitespace-känsligt samt att OO-aspekten känns lite påklistrad, till skillnad från Ruby som är ett rent OO-språk ända ut i fingerspetsarna.
Men det kan ju hända att det bara är en vanesak, David Heinemeier Hansson kom ju främst från en PHP-bakgrund (att döma av vad jag har läst), och det är ju PHP jag främst jobbar med för nuvarande, så det kanske går att vänja sig vid Rubys lite småäckliga syntax också. Om det är någonting som kan få mig att börja koda Ruby så är det Rails, den saken är iaf säker.
Jag har lekt lite med Rails sen det kom ut och är grymt imponerad! Om man jämför det med t.ex. WebObjects så är Rails enormt mycket smidigare. Som tjogin sa, lagom avancerat. Har inte vågat bygga något skarpt i det ännu dock, men det kommer väl det också.
Jag har lekt lite med Rails sen det kom ut och är grymt imponerad! Om man jämför det med t.ex. WebObjects så är Rails enormt mycket smidigare. Som tjogin sa, lagom avancerat. Har inte vågat bygga något skarpt i det ännu dock, men det kommer väl det också.
han som har byggt verkar ju smådissa java så fort han får chansen (av det jag har läst) så det verkar ju onekligen vara _mycket_ smidigare och mest intressant; snabbare att utveckla med/i?
Det känns ganska mycket som ett relativt abstrakt framework (som tex att databas fält blir attributer till objekt automagiskt), vilket ju onekligen borde effektivisera saker en hel del..
Jag måste säga att jag börjar bli smått sugen på att konvertera en webapplikation som jag jobbar på ett php efter vad jag har läst/sett. Jag måste bara ha lite mer praktiskt erfarenhet av det för att se hur tillpass moget och skalbart (eller snabbt rättare) det är.
Den här jobbet jag håller på med i php blir bara mer och mer svårtöverskådligt. Som koncept eller vad man nu ska säga är applikationen ytterst simpel, men är rent ut sagt jobbig att implementera i php (gäller fö. det mesta med php tycker jag numera), till trots för en uppsjö av PEAR klassar som borde göra det lättare känner jag ändå att det blir svårt att underhålla i framtiden, för som killen bakom Rails säger; man kan ju alltid hacka ihop nått som funkar, men i verkliga världen måste man ju också underhålla skiten.
Ikväll ska jag leka med Rails, det är säkert!
Wow! Trodde aldrig att jag skulle hitta Ruby-vänligt folk på det här forumet
Har själv kodat Ruby i princip på heltid i ett år nu, och har hunnit köra Rails ganska mycket. Det är ett helt suveränt ramverk, och ser man till den tid det tar att spotta ur sig en färdig webbapplikation har jag aldrig varit ens i närheten med något annat ramverk (och jag har använt många). Har hittills mest gjort testapplikationer, men nu håller jag faktiskt på med en Rails-applikation som ska ut i skarpt läge om ett par veckor.
Rails är i princip uppbyggt av två delar: Action Pack, som sköter alla kopplingar gentemot klienten, och Active Record, som hanterar databasbiten. Båda komponenterna har väldigt intuitiva API:er som är lysande exempel på Ruby-mantrat POLS (Principle Of Least Surprise), men Active Record medför (iaf för mig) att man måste byta tankesätt lite. Det Active Record gör är att sudda ut gränsen mellan databasen och applikationen; AR-baserade klasser kopplas automatiskt till tabeller i databasen baserat på klassnamnet, kolumnerna i kopplade tabeller återspeglas automatiskt som instansmetoder i AR-klasserna och kopplingar mellan tabeller görs automatiskt på liknande sätt. Det är otroligt intuitivt, men innebär att man måste tänka i Active Record-termer när man utformar databasen.
Egentligen har jag bara upptäckt en brist i Rails, och det är att installationen förväntas ligga på serverns rotnivå. Ska Rails-applikationen läggas någon annanstans behöver man ändra lite på rewrite-reglerna i apache-konfigurationen (bra howto här). Men det är faktiskt den enda invändning jag har efter nästan en månads användning.
För de som aldrig använt Ruby förut så blir det ju ett nytt språk, men om det är till någon tröst har Ruby, likt Python, låg inlärningströskel. Språket är designat efter "the principle of least surprise", vilket i princip innebär att de flesta programmerare ganska snabbt känner sig hemma. Syntaxen är närmast släkt med Eiffel, men syntaxreglerna är väldigt liberala och det är inga problem att köra med mer C-/Java-aktig syntax om man känner för det. Just syntaxbiten anpassar man sig till väldigt fort, och när man kommit över den tröskeln har man många kul upptäckter att göra. För Ruby är ett vansinnigt roligt språk att koda i, och för min del har programmering aldrig varit så kul och kreativt som sedan jag hittade Ruby.
Lite bra resurser för den som vill lära sig mer:
Programming Ruby, Ruby-folkets bibel.
Why's (Poignant) Guide to Ruby, helt urflippad men mycket underhållande. Får absolut inte under några omständigheter missas.
ruby-doc.org har dokumentation för hela standard-API:et.
Senaste Ruby-versionen med installerare för OS X (Rails fungerar inte med den gamla Ruby-version som följer med OS X).
Rails är i princip uppbyggt av två delar: Action Pack, som sköter alla kopplingar gentemot klienten, och Active Record, som hanterar databasbiten. Båda komponenterna har väldigt intuitiva API:er som är lysande exempel på Ruby-mantrat POLS (Principle Of Least Surprise), men Active Record medför (iaf för mig) att man måste byta tankesätt lite. Det Active Record gör är att sudda ut gränsen mellan databasen och applikationen; AR-baserade klasser kopplas automatiskt till tabeller i databasen baserat på klassnamnet, kolumnerna i kopplade tabeller återspeglas automatiskt som instansmetoder i AR-klasserna och kopplingar mellan tabeller görs automatiskt på liknande sätt. Det är otroligt intuitivt, men innebär att man måste tänka i Active Record-termer när man utformar databasen.
ja, det var nog det första som slog mig när jag såg det första gången (10 minuters videon), samt att Rails vill använda singulära objektnamn (och plural till datasfälten).
Men när jag tänker efter så ger det otroligt mycket mening, och spar ju faktiskt en hel del tid. (jag hatar personligt att skriva SQL frågor; jag vill slänga in/dra ut datan ur databasen och helst inget mer ). Men det som känns ändå som att jag inte är helt frisk på konceptet än.
lite OT: Det var faktiskt genom videon ovan som jag upptäckte Rails, det roliga är att jag googlade efter någonting helt annat nämligen en texteditor, sidan jag hamnade på visade sig vara killen bakom rails och, ja, därifrån försvann hela dagens produktivitet till förmån för Ruby och Rails
Själva syntaxen och så i Ruby stör jag mig inget vidare på än så länge, känns rätt naturligt faktiskt...
jag fortsätter prata på här bara
Detta är ju otroligt kul att jobba med! det är ju grymt smidigt att kunna "scaffold'a" saker, för att få ihop några snabba prototyper. Har dock stött på mitt första problem vad gäller det; den (när man gör en scaffold) verkar inte förstå en ENUM() i tabellen.. :/
Varför sa ni inte det här för ett halvår sen?! Här försöker man lägga ledig tid på att lära sig Python och Webware och så kommer ni och förstör allt!
Ärligt talat, nån som har koll på både Webware och Rails och kan punkta upp skillnader/fördelar/nackdelar? Jag har också kollat på SQLObject för att sköta kopplingen klasser-tabeller (istället för Webwares MiddleKit) samt Cheetah för html-mallar.
Tycker att SQLObject verkar väldigt bra, har hunnit testa lite snabbt bara och det verkar förvånansvärt enkelt faktiskt! Webware har jag inte hunnit sätta mig in i så mycket än.
Varför sa ni inte det här för ett halvår sen?! Här försöker man lägga ledig tid på att lära sig Python och Webware och så kommer ni och förstör allt!
Ärligt talat, nån som har koll på både Webware och Rails och kan punkta upp skillnader/fördelar/nackdelar? Jag har också kollat på SQLObject för att sköta kopplingen klasser-tabeller (istället för Webwares MiddleKit) samt Cheetah för html-mallar.
Tycker att SQLObject verkar väldigt bra, har hunnit testa lite snabbt bara och det verkar förvånansvärt enkelt faktiskt! Webware har jag inte hunnit sätta mig in i så mycket än.
Har hittills mest bara nosat på Webware, men det bygger på samma koncept som Rails (och är likaledes ett bra ramverk). Största skillnaden hittar man i databasdelen i och med att Active Record och MiddleKit är rätt olika; SQLObject är lite mer likt AR, så dumpar man MiddleKit borde man få en mindre meckig och mer Rails-aktig lösning. Men Webware är en koloss jämfört med Rails; mängden kod är den tredubbla och såväl installations- som konfigurationsbiten är mer invecklade.
I övrigt tror jag att det är ganska subjektivt vad som är bäst. Eftersom jag vantrivs något alldeles fruktansvärt i den fyrkantiga python-världen skulle jag välja rails alla gånger, och jag är dessutom alldeles för förtjust i enkelheten och elegansen hos Rails för att ens överväga Webware som alternativ. Men som sagt är Webware ett mycket bra ramverk, och om ens läggning är åt Python-hållet är det säkert en trevlig bekantskap det med.
Skönt att få lite perspektiv på saker och ting! Jag har aldrig hört någon kalla Python-världen för fyrkantig, men det är säkert för att det oftast är Python-världen själv som talar om Python. Det finns säkert en poäng i det. Jag är inte särskilt lagd åt Python-hållet än eftersom jag är rätt färsk.
Frågan man får ställa sig är väl om man ska dumpa den kunskap man hittills hunnit skaffa sig och börja om (igen!). I och vore det nog inte alltför svårt i och med att det bygger på samma principer...
Äh, det är väl lika bra att köra på antar jag... Nån gång måste man ju producera nåt också!
Skönt att få lite perspektiv på saker och ting! Jag har aldrig hört någon kalla Python-världen för fyrkantig, men det är säkert för att det oftast är Python-världen själv som talar om Python. Det finns säkert en poäng i det. Jag är inte särskilt lagd åt Python-hållet än eftersom jag är rätt färsk.
Nu vill jag absolut inte föra något flamewar och python är faktiskt ett helt ok språk, men jag tycker att hela Python-världen är lite för likriktad. Nog för att det kanske är en motreaktion mot Perl-tänket, men för mig känns det som att det tippat över åt andra hållet i stället. Men det är såklart bara min syn på saken, och det finns säkert massor med folk som har andra åsikter.
Frågan man får ställa sig är väl om man ska dumpa den kunskap man hittills hunnit skaffa sig och börja om (igen!). I och vore det nog inte alltför svårt i och med att det bygger på samma principer...
Själv brukar jag faktiskt rekommendera folk att lära sig både Python och Ruby för att på egen hand skapa sig en uppfattning. De är båda väldigt lätta att komma igång med, och man har definitivt stor nytta av att kunna åtminstone lite av vardera språket. Dessutom är de ju ganska lika varandra när man skrapar på ytan (att de är som hund och katt när man lär känna dem lite bättre är en annan sak ), och det brukar göra det ganska enkelt för Python-folk att lära sig grundläggande Ruby och vice versa.
Hmm, är Rail en liten doldis så att säga? Jag har för mig jag läste nån blogg där nån var förvånad över att program/projekt han använde var utvecklat med Rails/Ruby.
Rails är väldigt nytt, och Ruby är ett ganska litet språk (alltså vad gäller hur många som använder det). Så på det viset kan man väl kalla det en "doldis". Men, just med tanke på hur litet Ruby är, så kan man ju samtidigt säga att Rails får oproportionerligt med uppmärksamhet, så ur den aspekten är det ju absolut inte någon doldis, utan snarare en kändis.
wow! Efter att ha jobbat med Rails i lite mindre än två dagar (i "R&D syfte" ) vågar jag nog påstå att det är ett av de bästa ramverken för att snabbt utveckla web applikationer som jag har användt. Det är inte bara otroligt smidigt och effektivt att jobba med, det är också roligt!
Efter mindre än två dagar har jag konverterat 85% av en web applikation som sådär i runda svängar har tagit 1,5 veckor i effektiv tid att göra med PHP.
Till de som möjligen är "rädda" för Rails för att det är skrivet i Ruby kan jag bara säga; var inte det, Ruby är både roligt och enkelt att komma igång med om man har användt ett par andra scriptspråk innan...
Mitt enda problem är att applikationen ifråga behöver vara lokaliserat, något inte verkar ha gjorts med Rails hittils och än så länge känner jag mig trots allt lite för nybörjare på både ruby och rails för att kunna göra ett optimalt system för l18n...
Något som du har erfarenhet med Samuel K?
Va häftigt, dina erfarenheter med Ruby o Rails återspeglar verkligen många andras som jag har läst. Fortsätt gärna informera oss löpande med dina RubyOnRails-erfarenheter, jag är iaf grymt intresserad!
(Jag skaaa börja kåda RubyOnRails själv, när jag får tid att hämta andan...)
Va häftigt, dina erfarenheter med Ruby o Rails återspeglar verkligen många andras som jag har läst. Fortsätt gärna informera oss löpande med dina RubyOnRails-erfarenheter, jag är iaf grymt intresserad!
(Jag skaaa börja kåda RubyOnRails själv, när jag får tid att hämta andan...)
Det ska jag göra!
Dock måste jag tillstå att jag inte har testat det i produktionsmiljö (via FastCGI) än, men jag är faktiskt inte oroat för prestanda, jag märkar ingen prestandaskillnad på Basecamp som jag användar för projekthantering (basecamp är gjort mha rails, ja faktiskt är väl rails utvecklat medan killen jobbade på basecamp), så jag är faktiskt inte oroat över det. Det finns nog ställen i Rails där det finns flaskhalsar (rails är fn på version 0.7.0), så det finns nog ställen där rails skulle prestrerar sämre än så länge..
Efter lite över 1,5 vecka med Rails känns det numera som det enda rätta valet för det mesta, hur jag stod ut med o-underhållbara och oeffektiva (ur utvecklingssynpunkt) php är en bra fråga.
Rails känns fortfarende inte riktigt torr bakom öronen än, men det är ju inget konstigt egentligen, vad som däremot är riktigt skönt är hur litet själva comunityn är än så länge; alla är hjälpsamma och ger bra förslag och råd, oavsett om det handlar om ens egen fråga eller om framtiden för Rails. Att kunna prata direkt med utvecklaren (som både lyssnar, tar till sig förslag och förklarar) är riktigt skönt. Sen att Rails (eller Ruby) tvinger en, utan att man tänker på det, att skriva sin kod på ett bra sätt är något man inte tänker något vidare på, det sker nästan per automatik; vilket brukar vara tecknet på ett väldesignat språk och API.
Men kanske det bästa med det hela är att allting är mycket roligare igen, jag har faktiskt, tack vara sig Rails, blivit inspirerat till några nya projekt. Webutveckling känns till vis mån kul igen. Något som PHP inte gör längre för min del..
Ni som inte har åtmindstonde kollat in Rails in, gör det! Det kan förändra mycket..
Men kanske det bästa med det hela är att allting är mycket roligare igen, jag har faktiskt, tack vara sig Rails, blivit inspirerat till några nya projekt. Webutveckling känns till vis mån kul igen. Något som PHP inte gör längre för min del..
Kul att se att fler är lika förtjusta som jag! Själv är jag faktiskt på väg att sätta mitt första "skarpa" Rails-projekt, ett verktyg för lingvistisk analys, i produktion. Bortsett från att jag behövde implementera en analysmotor i C (Ruby och C är f.ö. en extremt lyckad kombination), så gick själva webbapplikationen extremt fort att implementera, tog bara ett par dagar - och resultatet blev dessutom vansinnigt bra! Satt i möte med beställarna idag och de var extremt nöjda
Enda felet jag upptäckt hittills är att Rails skalar upp ganska dåligt när man börjar bolla med riktigt stora datamängder ut mot malldokumentet. Råkade på det problemet när applikationen behövde hantera några tusen objekt som alla refererar till en textmassa på ett par hundra kB, så jag misstänker att objekten dupliceras någonstans på vägen mellan controller-objektet och xhtml-mallen. Lösningen var iofs ganska enkel, bara att skicka de data man verkligen behöver visa i malldokumentet, men det kan vara värt att veta...
Ah, fler som fått upp ögonen för RubyOnRails! Själv är jag en newbie på konceptet (och på Ruby som scriptspråk) men det jag sett gör ju att man vill kasta sig in i det på en gång. Jag har utvecklat i PHP/Perl (och lite Java) sedan slutet av 90-talet och Rails låter sååå himla smidigt. Ska verkligen försöka ta mig tid till att porta några mindre webbprojekt till Rails så att man får lite mer häng på hur det fungerar. Ruby verkar vid första anblick se lite kryptiskt ut (var är alla mina "{};" typ) men det verkar ju som att det går rätt snabbt att komma in i. Återkommer med uppdatering när jag hunnit hacka lite.
Open knowledge... Vi har tidigare arrangerat något som vi kallat för Open Knowledge arrangemang som har avhandlat lite av varje.
Tex:
AppleScript, Installing Linux och PHP MySQL osv.
Dessa föredrag - kvällar har varit gratis att deltaga på samt de som har varit föredragshållare har också ställt upp gratis. Det vi stått för var lokal samt förfriskningar samt själva arrangerandet. Mycket inspirerade av Open Source fast då bara med kunskap. Det var dock något år sedan sist men nu tycker jag det kanske vore på tiden och då kom jag att tänka på Rails som ett gått topic.
Om någon skulle vara intresserad av att deltaga/föreläsa så hör av er till mig. Om det visar sig finnas intresse nog så arrangerar jag det gärna. Vår lokal befinner sig i centrala Köpenhamn men om så måste kan jag även fixa lokaler i Helsingborg.
Välkommen till Rails peterj
Mattias, låter ju intressant. David HH bor så vitt jag vet i köpenhamn.
Samuel K, ska jag komma ihåg På tal om sånt (prestanda) så vet jag att det är någon som jobbar på ett cache system för ERb templatesne, enligt honom ska det ~100% hastighetsökning med cachningen. Å andra sidan är ju Rails ganska ungt, så jag tror det kommer komma ständinga förbättringar så småningom..
Samuel K, ska jag komma ihåg På tal om sånt (prestanda) så vet jag att det är någon som jobbar på ett cache system för ERb templatesne, enligt honom ska det ~100% hastighetsökning med cachningen. Å andra sidan är ju Rails ganska ungt, så jag tror det kommer komma ständinga förbättringar så småningom..
Jo, läste det på ruby-talk, men jag tror inte att det är själva parsningen som var problemet i mitt fall. Fast allt som ger bättre prestanda är ju såklart välkommet, även om det inte känns som att själva ERb-parserns prestanda är något problem för mig iaf. Skillnaden mellan "jättesnabbt" och "tillräckligt snabbt" är liksom inget jag tänker på - väntar man sig tusentals besökare om dagen är det en sak, men i mitt fall rör det sig om kanske 5-10 lingvister i stället
Hittade för övrigt en rätt kul Rails-driven webbplats:
www.codepaste.org
Jag sparkar upp en gammal diskussion eftersom jag precis satt igång med Ruby on Rails och behöver hjälp med en bra kodredigerare för ändamålet. Krav är att den ska arbeta snällt mot en SVN-server.
Några tips?
oh herregud, är det så länge sen man började med rails..
TextMate, vad annars? www.macromates.com