Primamljivo zvuce oba…naravno ovo za ObjC ima prednost jer se covek ipak prvi setio.
Ipak, za oba bi bilo lepo da se odrade i neki minimalni projekti na licu mesta…nesto u fazonu ‘Hello world’...
Na tako kreativne sastanke dolazim i ovako u gipsu 😊
Eve ja cu da iznesem svoje. Danas sam bio prvi put. Ja sam malo vise u celoj toj prici oko programiranja pa mi nije nesto bilo korisno. Koliko sam shvatio prezentacija je bila usmerena na novajlije. Mada, ne znam dal za novajlije generalno sto se programiranja tice ili novajlije u xcode-u. Ne znam dal je prica o multithreadingu i memory managementu bas zanimljiva za nekog ko se prvi put susrece sa okruzenjem, pa mislim da je taj deo mogao da se sazme a da se akcenat stavi na neke druge stvari. Mislim da je nedostajalo malo poblize predstavljanje samog cocoa frameworka. Sa izuzetkom Core data o tome nismo culi nista. Naravno, za 2 sata tesko da moze da se predje sve pa je malo ovog, malo onog jedini izbor. Ako su uzme u obzir i raznolikost auditorijuma (od pocetnika do poznavalaca) tesko da se moze napraviti prezentacija koja ce da zadovolji sve.
Bilo je nešto oko CofreData, ne znam kada si otišao, pošto sam se ja približio da bolje čujem (ja sam onaj što je pitao može li to da se nekako poveže sa nekom drugom bazom, ako si bio dok sam pitao B) ).
Ako mogu ja da kazem nesto oko CoreData (ja sam onaj sto je rekao da ne moze da ide na druge baze 😊).
CoreData je Persistent Store Data Framework i nije u pitanju drajver za pristup bazi podataka. To najlakse moze da se proveri tako sto ce se napraviti jednostavan model i potom se provere strukture SQLite baze podataka. Videcete da nije preslikavanje 1:1. CoreData je jednostavno namenjen da svoje objekte (Entitete) smestate u bazu i to je sve. Takodje, kao sto je receno CoreData podrzava relacije, ali ne u smislu u kojem ste navkikli na SQL bazama podataka jer u CoreData ne postoji Primary and Foreig key.
Ako nekoga zanima povezivanje sa ozbiljnijim bazama podataka onda se mora zaboraviti CoreData. Za to postoji nezavisan framework i zove se Base Ten koji radi sa PostgreSQL bazom podataka. Za MySql takodje postoji framework, ali razvoj na njemu stoji u mestu vec neko duze vreme.
I da zakljucim, sa CoreData ne moze da se napravi neko pravo ERP resenje, ali definitivno moze da se napravi resenje koje ce zadovoljiti potrebe malih i srednjih korisnika. Na zalost SQLite nema visekoristnicki pristup sto je najvece ogranicenje.
Koga zanima vise ova tema najtoplije preporucijem knjigu Marcusa Zare koji je guru za ovu temu. Knjigu mozete kupiti ovde: http://www.pragprog.com/titles/mzcd/core-data. Elektronsko izdanje kosta 21$ i vredi svaki ulozeni cent.
@madamov: Rekoh da je bilo nesto oko Core Data, ali nije bilo ostalih delova cocoa frameworka. Core Animation je recimo zanimljiv i omogucava relativno jednostavno animiranje i crtanje u programu. KVC/KVO koncept recimo nije spomenut uopste, kao ni MVC desing pattern na kom pociva celokupna logika cocoa, tj. povezivanje podataka i korisnickog interface-a. Ne kazem da je trebalo detaljisati o svemu tome, samo da je to mozda korisnicima zanimljivije od konkurentnog programiranja 😊
Sto se samog Core Data tice, tacno je da trenutno podrzava jedino SQLLite od pravih baza. To ce se promeniti u Lion-u jer je ubacena podrska za external store type. Medjutim, mislim da nije tacno da ne moze ozbiljna aplikacija da se napravi sa njim. Recimo klijent-server model gde se na serveru nalazi neka ozbiljna baza i koji publikuje web servise za pristup i manipulaciju podacima u toj bazi, a na klijentu postoji lokalna baza koja je menadzovana od strane Core Data je sasvim OK resenje. Postoji lekcija sa proslogodisnjeg WWDC koja govori o ovoj problematici: ‘Session 117 - Building a Server-driven User Experience’
Treba imati na umu da Core Data ne omogucava samo pristup podacima, ona generalno olaksava validaciju podataka, sacuvavanje, undo/redo, i u kombinaciji sa object i array kontrolerima stvarno olaksava pravljenje korisnickog interfejsa tako da je prava steta ne koristiti je za to.
I da ne zaboravim, posto Core Data podrzava in memory model, uopste ne mora da postoji fizicki store za podatke. Moze se koristiti i ako uopste ne perzistiramo podatke.
Medjutim, mislim da nije tacno da ne moze ozbiljna aplikacija da se napravi sa njim. Recimo klijent-server model gde se na serveru nalazi neka ozbiljna baza i koji publikuje web servise za pristup i manipulaciju podacima u toj bazi, a na klijentu postoji lokalna baza koja je menadzovana od strane Core Data je sasvim OK resenje.
Tako nešto sam i pomislio, a ono što je odmah napravio od interfejsa i funkcionalnosti što je Bane definisao kao adresar me ‘kupilo’ na jedan: ‘ajde što ga je lepo poslagao, nego je napravio funkcionalnost koju bi morao da dodajem u 4D-u manje-više ručno po kreiranju interfejsa.
Ukratko, kao što si rekao: neki Web servis da se pokupe podaci iz 4D-a u klijent na iPadu recimo, mapiraju se polja iz baze sa lokalnim objektima, a u aplikaciji za iPad koristiš CoreData. Vredela mi prezentacija samo zbog ovoga. B)
Ako nekoga zanima povezivanje sa ozbiljnijim bazama podataka onda se mora zaboraviti CoreData. Za to postoji nezavisan framework i zove se Base Ten koji radi sa PostgreSQL bazom podataka. Za MySql takodje postoji framework, ali razvoj na njemu stoji u mestu vec neko duze vreme.
Neka hvala za MySQL, ‘pravi bazaši’ će pre da korist PosgreSQL za backend. B)
Sto se samog Core Data tice, tacno je da trenutno podrzava jedino SQLLite od pravih baza. To ce se promeniti u Lion-u jer je ubacena podrska za external store type. Medjutim, mislim da nije tacno da ne moze ozbiljna aplikacija da se napravi sa njim. Recimo klijent-server model gde se na serveru nalazi neka ozbiljna baza i koji publikuje web servise za pristup i manipulaciju podacima u toj bazi, a na klijentu postoji lokalna baza koja je menadzovana od strane Core Data je sasvim OK resenje. Postoji lekcija sa proslogodisnjeg WWDC koja govori o ovoj problematici: ‘Session 117 - Building a Server-driven User Experience’
U potpunosti se slazem sa tobom, web servisi jesu verovatno jedino ozbiljno resenje za povezivanje sa ‘velikim’ bazama podataka. Jedino sto u tom slucaju imamo posrednika izmedju klijenta i servera.
Prica o Core Data je prilicno obimna i ozbiljna prica, mozda cak da se jedan od sastanaka posveti toj temi.