Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  17 2273
NOOOOOOOOOOOOOOOOOO-
robhol's Avatar
Sitter på tampen til å begynne med et nytt prosjekt nå. Jeg vil ikke gå grundig i detalj om nøyaktig hva det går ut på, men det omfatter en database som kommer til å inneholde en hel haug data som er koblet sammen på en rekke forskjellige måter, samt forskjellige måter å manipulere dette på.

Jeg hadde egentlig tenkt til å bruke PHP til dette, men det er fortsatt ikke for sent å velge noe annet, hvis det finnes åpenbart bedre valg. Uansett språk, har jeg hatt lyst til å se om det finnes frameworks ol. som gjør jobben lettere - PHP er tross alt ikke verdens morsomste språk å skrive større prosjekter i.

Jeg tenkte det kunne være en god idé å bruke et ORM her, så man kan behandle dataene som objekter i stedet for å skrive langtrukken SQL til alt mulig, men har omtrent null erfaring med slike. Hvis det også finnes andre biblioteker osv. som gjør livet som PHP-koder lettere, hadde jeg satt pris på noen tips - hvis de da ikke er så omfattende å sette seg inn i at det hadde gått raskere å skrive vanlig PHP.
Har du vurdert Ruby med rails framework? Jeg digger det i hvertfall.

Tar vel litt tid å sette seg inn i siden ting gjerne gjøres litt annerledes, men så fort du har lært det blir det raskt en favoritt.
Hva med ASP.NET MVC 4/5? Da har du jo bl.a. LINQ/Lambda óg, og veldig enkel bruk av databaser og ORM lokalt.

Et alternativ jeg gikk for i et prosjekt denne uken var PHP for databasetilgang (og som et JSON-basert API) og EmberJS som klientside JavaScript MVC-rammeverk, og brukte AJAX for å hente fra/sende spørringer mot PHP-skriptet. Det er jo også noe som kan være spennende å se på om du vil lære et nytt rammeverk
Sist endret av Maol33t; 5. juli 2013 kl. 14:20.
Nå har jeg relativt lite erfaring med Ruby on rails, men det virker som om det er ca. likt produksjonsmessig som mvc og ef. Så lenge du har Visual studio. Entity Framework er også virkelig digg i kombinasjon med ms sql og mvc. Ta en titt på pluralsight videoene om mvc (gratis)
Sist endret av lor3ntz; 5. juli 2013 kl. 18:14.
NOOOOOOOOOOOOOOOOOO-
robhol's Avatar
Trådstarter
Blir nok neppe noe Microsoft-stuff - om ikke annet fordi det er kranglete å hoste. Jeg er heller ikke noen fan av Ruby. Takk for forslagene allikevel.
Hva med Perl på Catalyst?
Sitat av robhol Vis innlegg
Blir nok neppe noe Microsoft-stuff - om ikke annet fordi det er kranglete å hoste. Jeg er heller ikke noen fan av Ruby. Takk for forslagene allikevel.
Vis hele sitatet...
Kan enkelt hostes på Azure! Og bare 50% av svaret mitt var Microsoft-relatert, hva med PHP/EmberJS/JavaScript?
Det finnes gode framework i nesten alle gode større språk. Innenfor PHP har jeg hørt folk skryte av Zend framework og CodeIgniter, som begge har blitt brukt i produksjon og skal være mer enn stabile nok for ditt bruk.

Men du ønsket også litt forslag til andre frameworks, siden du sier du ikke synes PHP er det beste språket å skrive større prosjekter i. Problemet er bare at PHP er det som er lettest å hoste, og derfor ofte det man velger - går du for en annen teknologi (som .NET, Ruby eller Python) så må du uansett lete etter spesielle hoster med støtte for disse.

Personlig har jeg kun erfaring med CodeIgniter (PHP), Ruby on Rails og Django (python) - og av disse er det Ruby on Rails som rett og slett fallt best i smak - selv om Python er mitt "Goto" språk i nesten alle tilfeller. Dette rett og slett fordi ting var veldig lettvint der - og det hele føltes veldig modent. Og sammen med Cucumber var det lett å dele prosjektet opp i mindre oppgaver å bare fokusere på å implementere små features - i stede for å prøve å lage alt på en gang.
NOOOOOOOOOOOOOOOOOO-
robhol's Avatar
Trådstarter
Selv-hostet, men på Mac. (Ikke min server, ikke mitt valg. )

Derfor vil ting som Python, Perl, RoR etc. kunne legges inn, dog ikke Microsoft-stuff, som i tillegg koster penger. Det er i og for seg ikke noen krise, men det skader ikke å holde kostnader nede. I tillegg har jeg lite til overs for Entity Framework.

Selve språket Ruby har jeg ikke gjort noen store forsøk på å sette meg inn i, men førsteinntrykket er et av de verre jeg har fått av et seriøst språk.

Jeg skal sjekke ut Zend og CodeIgniter samt ta en nærmere titt på Django (jeg har hatt lyst til å ta en titt på Python lenge, men trenger ofte noe konkret å lage for å komme noe sted med nye språk), takk så mye for alle anbefalinger.
Linux geek!
Sauu's Avatar
Har du tenkt på Tornado? Det er bygget på python, det er enkelt, det er ekstremt fleksibelt, og best av alt, det er åpen kildekode! Det ble utviklet av et lite firma, men er nå kjøpt av facebook. Har selv laget flere små prosjekter i det, og er veldig fornøyd med det. Vil også anbefale å kjøre 4 forskjellige tornado instanser (port 8888, 8889 osv.), samtidig som du hoster port 80 (evt. 443) med nginx.

Det er veldig enkelt, og all koding gjøres i python (dvs. kort og konsist). Du kan bruke alle mulige python-biblioteker, som gir deg stor valgfrihet. Tornado kommer også med mange kjekke funksjoner, som f.eks. Google autentisering, og alle er veldig enkle å forstå, og å implementere.

Du kan lese mer om tornado på Wikipedia. Der ser du f.eks. at Tornado er mye kraftigere enn andre python baserte rammeverk.

Lykke til!
Tornado er mye kraftigere enn andre python baserte rammeverk.
Vis hele sitatet...
Det blir litt feil og si kraftigere enn andre Python rammeverk.
Viss er ser litt på F.eks Django vs Tornado.

* Django er fullverdige rammeverk,som inkluderer en ORM og er ikke en server.
* Tornado er en server som også er en minimalt rammeverk,ingen ORM.
Tornado prøver ikke og å være Django.

Begge er bra og kan gjøre det samme,
med Tornado får man mindre hjelp enn hva man kan vente og få fra et fullverdige rammeverk.
Tornado bra for WebSocket og relaterte apps.

Når vi er inne på Python rammeverk som nevnt Django
God dokumentasjon og stort fellesskap.
Noen sider som bruker Django Djangosites

web2py ble litt imponert når jeg teste web2py.
Pros:
Easiest framework by far to install for development
Application creation wizards
Easy to use CRUD
Easy App distribution system
Simple deployment to GAE/OpenShift
Powerful administrator site
Web-based IDE for easy online development
Included AJAX framework for using CRUD
Backward compatibility is a project goal
Vis hele sitatet...
CMS?
Django-CMS
Plone

Micro rammeverket har i de siste par år blitt populært Flask og Bottle for og nevne et par for Python.
Linux geek!
Sauu's Avatar
Sitat av snippsat Vis innlegg
Det blir litt feil og si kraftigere enn andre Python rammeverk.
Viss er ser litt på F.eks Django vs Tornado.

* Django er fullverdige rammeverk,som inkluderer en ORM og er ikke en server.
* Tornado er en server som også er en minimalt rammeverk,ingen ORM.
Tornado prøver ikke og å være Django.

Begge er bra og kan gjøre det samme,
med Tornado får man mindre hjelp enn hva man kan vente og få fra et fullverdige rammeverk.
Tornado bra for WebSocket og relaterte apps.

Når vi er inne på Python rammeverk som nevnt Django
God dokumentasjon og stort fellesskap.
Noen sider som bruker Django Djangosites

web2py ble litt imponert når jeg teste web2py.


CMS?
Django-CMS
Plone

Micro rammeverket har i de siste par år blitt populært Flask og Bottle for og nevne et par for Python.
Vis hele sitatet...
Ja, du har rett. Tornado er ikke et fullverdig rammeverk, men det er litt av meningen. Det er bygget for å være usynkronisert, raskt, og med valgfrihet. Det lar deg bruke forskjellige biblioteker, alt etter hva man trenger og ønsker. Det er derfor veldig minimalistisk, og kildekoden og applikasjoner blir dermed veldig ryddige.

Har selv laget flere web-apps med Tornado, men jeg bruker riktignok kun en mySQL server. Har aldri skrevet noe stort i Django, eller brukt ORM (Syns SQL fungerer greit). Så for all del, Django virker som et veldig kraftig rammeverk!

PS: Du bør heller sitere (med kilder!!) enn å stjele sistater fra andre nettsider, for så å oversette dem ordrett. Hint
Har du vurdert node.js? Regner med du allerede har erfaring med JSON, og vet at json data også er objekter, slik at du ikke trenger noe mellomledd. Forstår deg som om du skal gjøre mye utregninger med datan og da er node mye raskere enn php. I tillegg foregår alt event drevet og asykront. Du lager din egen webserver og får derfor full kontroll. Det krever litt innsats, men det er veldig enkelt og er verdt innsatsen. Med node-mySql har du alt du trenger.
Kaizen
Tenkte jeg kunne skrive litt om hvilke tanker jeg selv har om dette temaet.

Jeg utvikler nye web-applikasjoner (som regel backends, med minimal frontend) jevnlig i forbindelse med jobb, og vi har bevegd oss fra PHP til Java/Servlets til Sinatra/Rails/Node. Vi bevegde oss vekk fra PHP fordi vi rett og slett var lut lei av PHP, og vi savnet en rå pakkebrønn. Java med Jersey funker bra, men mye tid brukes på å skrive kode rundt problemet vi egentlig skal løse.

Jeg har akkurat satt meg ned for å velge mellom de tre sistnevnte.

1. Kampanjeside med lett backend og bruk av database
I dette prosjektet består backend av enkel databaseintegrasjon for å logge statistikk om bruk av løsningen, og jeg har derfor ikke bruk for et lass av ekstra innebygde features som mulighet for å mappe opp X-antall modeller. Derfor står valget mellom Sinatra eller Node. Fordi det er superenkelt å komme i gang med et Node-prosjekt med HTML- og CSS-templating og støtte for Coffee-script heller jeg mot å bruke Node.

2. Svær backend med et like stort CMS
Dette prosjektet består av en svær mengde modeller med en svær mengde assosiasjoner seg i mellom. Til dette prosjektet ville jeg ikke drømt om å velge noe annet enn Rails. Tre viktige faktorer for dette valget er min egen tilfredshet som utvikler, hurtighet og fleksibilitet. Med Rails og tredjeparts moduler (RailsAdmin) kan man være oppe med et midlertidig (?) CMS på en times tid. Vær dog oppmerksom på at årsaken til at Rails kan levere hurtigheten den gjør er fordi at haugevis gjemmes fra deg som utvikler, som du definitivt burde sette deg inn i om du skal levere en løsning til platformen.

Når det gjelder ytelse vil jeg bare legge til at jeg ikke synes det er en problemstilling som det er verdt å bruke mye tid på nå. Misforstå meg rett, jeg mener ikke at det ikke er en viktig problemstilling, men jeg mener det er en problemstilling for en dag der du sitter på helt andre resursser enn du gjør nå. Dette utsagnet er vanskelig for meg selv å svelge som utvikler, men jeg har sett nok av prosjekter drukne i opphetede diskusjoner om hvilket rammeverk som best takler en million+ aktive brukere.
Overskuddsmateriell
Ville vurdert MariaDB som database fremfor MySQL i allefall.

Og når du snakker om du skal knytte de sammen i forskjellig veier vil jo joins være ypperlig til det
Sitat av Bullhill Vis innlegg
Ville vurdert MariaDB som database fremfor MySQL i allefall.

Og når du snakker om du skal knytte de sammen i forskjellig veier vil jo joins være ypperlig til det
Vis hele sitatet...
Med et godt rammeverk så skal det å bytte mellom ulike datamodeller være veldig enkelt, f.eks. med Ruby on Rails trenger du bare å endre i en config-fil og laste ned en ny gem for å gå fra MySQL til SQLITE eller til MariaDB - så ville ikke tenkt så mye over hvilken database man gikk for, da man lett kan bytte dette senere om man ønsker.
Host1.no tilbyr vel ganske billige "Cloud1" servere. Disse har mulighet for Windows Server, hvis jeg husker rett. Du må selvfølgelig betale litt ekstra, men ikke noen store summer.

Har drevet en del med ASP.Net kombinert med MVC4, KnockoutJS, og jQuery på jobben i de siste ukene. Må si at jeg liker mye bedre det enn PHP.. Men så programmerer jeg vel for det meste i C# også.

Edit:

Sitat av etse Vis innlegg
Med et godt rammeverk så skal det å bytte mellom ulike datamodeller være veldig enkelt, f.eks. med Ruby on Rails trenger du bare å endre i en config-fil og laste ned en ny gem for å gå fra MySQL til SQLITE eller til MariaDB - så ville ikke tenkt så mye over hvilken database man gikk for, da man lett kan bytte dette senere om man ønsker.
Vis hele sitatet...

Har RoR egentlig noe grei måte for å migrere data fra det ene systemet til det andre? Tenker da hvis en kunde plutselig vil ha dataen sin på f.eks MariaDB istedefor MySQL.
Sist endret av hayer; 10. juli 2013 kl. 23:48.
Hvis Java eller Scala er et språk du liker så ta en titt på Play framework .