[cs-lisp] Emacs Web Geliştirme Ortamı Devam

2007-05-24 Başlik ahmet usal

An itibariyle Emacs Wiki sayfasına da ekledim.

Aycan Bey ilginiz ve olumlu yorumunuz için  teşekkür ederim. Ben bu konuda
biraz farklı düşünüyorum.

Topluca Web 2.0 diye adlandırdığımız ; Ajax - Javascript etkileşimiyle web
uygulamaları oluşturma konsepti bence programcı ile tasarımcı arasındaki
uçurumu azaltmakta; Şöyleki:

Artık görsel yönden ne kadar güçlü tasarım yaparsanız yapın; kullanıcıyla
etkileşim halinde olmazsa; webde çığla büyüyen örneklere bakan müşteriler ve
kullanıcılar; yapılan çalışmayı yetersiz bulacaklardır. Kullancıyla
etkileşim için de; Temel web kodlama altyapınız olmalıdır; içeriği sunumdan
ayırmayı; css-html-javascript üçlemesini iyi kodlamayı becerebilmeniz
gerekir. Bu da tasarımcıyı bu işe dahil edecek bir süreçtir.

Adobe firması bile Spry diye lisansı görece serbest teknolojileri web
geliştiricilerinin kullanımına açtı:http://labs.adobe.com/technologies/spry/
adresine bakın. Ortalık Framework-Library diye kaynıyor. Programcılara KISS
(Keep it Simple Stupid) and DRY(Don't Repeat Yourself) prensipleriyle;
mevcut sunucu-istemci taraflı frameworklerle kolayca çalışabilecekleri
empoze ediliyor.

Bu yaklaşımlar küçük projelerde tasarımcıların da; frameworklerle kendi
işlerini görebilecekleri anlamına geliyor. Eski tasarım araçları artık
yetersiz kalıyor. Dreamveawer en yeni sürümünde bile bir Firebug
eklentisinin yaptıklarını yapamıyor. Ortalık herzamankinden güçlü ve
işlevsel CMS'lerle dolu. Ben şahsen işlerimi bu şekilde halletmeye
çalışıyorum. (Bu yüzden ne tasarımcıyım ne de programcı:)

Bu durumda ister istemez tasarımcı bile olsa herkes elini koda atmak
zorunda. Yapabileceği en iyi şeyde kolay kullanabileceği, işlevsel bir metin
editörü ile html-css-js kodlayıp, Firefox ile test etmek:)

Mac makinalardaki Textmate bu yüzden patladı; Tüm bilgi veren
Screencastlerde en çok göreceğiniz kodlama ve tasarım unsurları
MacOSX-Textmate ve Firebug:)

Ben sadece eski tüfekler metin düzenleyicilerine de emek verildiğinde
istenilen editör işlevselliğinin her platformda; özellikle web kodlamasında
fazlasıyla yakalanabileceğine bir örnek vermeye çalıştım; kendim zevkle
kullanıyorum...Win32 ortamında temiz screencast üretmeyi becerdiğimde bu tür
örnekleri de ekleyip buradan haber verme niyetindeyim...Özellikle merak
ettiğiniz modlar varsa onları belirtirseniz, tanıtımda öncelik sahibi
olurlar.

Sizin verdiğiniz UCW platformuna dayalı örneği inceledim. Mesela
http://mootools.net - Mootools diye bir javascript kütüphanesi; aynı sizin
yolunuzla javascript içinden Dom ve Css üretimi ve etkileşimine imkan
veriyor. Bu anlamda uygulamanız güçlü. Ama frameworkler de en çok tercih
edilen özellik; uygulama mantığının, veritabanın ve sunumun ayrı katmanlarda
çalıştırılması.(Sizin de bildiğiniz Model-View-Controller Patterni) Bu
programcı-tasarımcı ayrımını ve işbirliğini kolaylaştırıyor.

Sizin uygulamanız bileşen tabanlı ve tüm bu uygulama üretim mantığı içiçe
anladığım kadarıyla(yanlış anlıyorsam lütfen beni düzeltin.)
Bu anlamda programcı-tasarımcı ayrımını tamamen ortadan kaldırıyor gibi
göründü bana...Yani genel yaklaşımdan farklı bir yol.

Konuyla ilgili her türlü anlatımı merakla beklemekteyim.

Çalışmalarınızda başarılar dilerim, kolay gelsin, saygılarımla...








--
aHmeTus
___
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp


Re: [cs-lisp] Emacs Web Geliştirme Ortamı Dev am

2007-05-24 Başlik Aycan iRiCAN
ahmet usal wrote:
 An itibariyle Emacs Wiki sayfasına da ekledim.

 Aycan Bey ilginiz ve olumlu yorumunuz için  teşekkür ederim. Ben bu
 konuda biraz farklı düşünüyorum.

 Topluca Web 2.0 diye adlandırdığımız ; Ajax - Javascript etkileşimiyle
 web uygulamaları oluşturma konsepti bence programcı ile tasarımcı
 arasındaki uçurumu azaltmakta; Şöyleki:

 Artık görsel yönden ne kadar güçlü tasarım yaparsanız yapın;
 kullanıcıyla etkileşim halinde olmazsa; webde çığla büyüyen örneklere
 bakan müşteriler ve kullanıcılar; yapılan çalışmayı yetersiz
 bulacaklardır. Kullancıyla etkileşim için de; Temel web kodlama
 altyapınız olmalıdır; içeriği sunumdan ayırmayı; css-html-javascript
 üçlemesini iyi kodlamayı becerebilmeniz gerekir. Bu da tasarımcıyı bu
 işe dahil edecek bir süreçtir.

 Adobe firması bile Spry diye lisansı görece serbest teknolojileri web
 geliştiricilerinin kullanımına
 açtı:http://labs.adobe.com/technologies/spry/  adresine bakın. Ortalık
 Framework-Library diye kaynıyor. Programcılara KISS (Keep it Simple
 Stupid) and DRY(Don't Repeat Yourself) prensipleriyle; mevcut
 sunucu-istemci taraflı frameworklerle kolayca çalışabilecekleri empoze
 ediliyor.

 Bu yaklaşımlar küçük projelerde tasarımcıların da; frameworklerle
 kendi işlerini görebilecekleri anlamına geliyor. Eski tasarım araçları
 artık yetersiz kalıyor. Dreamveawer en yeni sürümünde bile bir
 Firebug eklentisinin yaptıklarını yapamıyor. Ortalık herzamankinden
 güçlü ve işlevsel CMS'lerle dolu. Ben şahsen işlerimi bu şekilde
 halletmeye çalışıyorum. (Bu yüzden ne tasarımcıyım ne de programcı:)

 Bu durumda ister istemez tasarımcı bile olsa herkes elini koda atmak
 zorunda. Yapabileceği en iyi şeyde kolay kullanabileceği, işlevsel bir
 metin editörü ile html-css-js kodlayıp, Firefox ile test etmek:)

 Mac makinalardaki Textmate bu yüzden patladı; Tüm bilgi veren
 Screencastlerde en çok göreceğiniz kodlama ve tasarım unsurları
 MacOSX-Textmate ve Firebug:)

 Ben sadece eski tüfekler metin düzenleyicilerine de emek verildiğinde
 istenilen editör işlevselliğinin her platformda; özellikle web
 kodlamasında fazlasıyla yakalanabileceğine bir örnek vermeye çalıştım;
 kendim zevkle kullanıyorum...Win32 ortamında temiz screencast üretmeyi
 becerdiğimde bu tür örnekleri de ekleyip buradan haber verme
 niyetindeyim...Özellikle merak ettiğiniz modlar varsa onları
 belirtirseniz, tanıtımda öncelik sahibi olurlar.
Beni yanlış anlamanızı istemem. Bahsettiğiniz araçları kullanıyoruz ve
sizin paylaşımlarınız ile bu araçlardan daha iyi faydalanıyoruz. Ancak
ben tasarımla ilgilenen insanlardan yıllardır ufak tefek de olsa kod
yazmalarını beklerken, bu ısrarlarımın yersiz olduğuna tanık oldum.
Tasarımcılar bazen acemilikleri ile, bazen de sanatsal bakış açılarıyla
üretimlerini tamamen görsel kaygılar üzerine yoğunlaştırıyorlar. Böyle
de olması gerektiğini düşünüyorum. Aksi endüstriyel bir tasarım sürecine
ve belki de bir miktar mühendisliğe de giriyor ki böyle bir sonuç
yaptığımız web sitelerinin ciddi anlamda tasarım çalışmaları var mı?
sorusuna götürüyor beni.

Bu düşüncemi desteklemek için var olan ürünlerin ve bunların
çıktılarının ne kadar birbirine benzediğini örnek verebilirim. Biz
yıllardır sütunlarla, menülerle desteklenmiş sitelere tanık olduk. Çünkü
kaygılarımız görselden uzaktı. Tasarım deyince bilgisayar ile insan
arasındaki etkileşimi anladık yıllarca. Oysa bunun ötesinde birşeyler
yapmaya çalışanlar vardı. Hoş olanın ötesinde birşeyler var mıdır?

Gerçek tasarımcılarla çalışabilecek yöntemleri bulmamız gerektiğini
söylemeye çalışıyorum aslında. Bunun yönteminin de icra edene teknik
eğitim vermekten geçmediğini düşünüyorum.

 Sizin verdiğiniz UCW platformuna dayalı örneği inceledim. Mesela 
 http://mootools.net - Mootools diye bir javascript kütüphanesi; aynı
 sizin yolunuzla javascript içinden Dom ve Css üretimi ve etkileşimine
 imkan veriyor. Bu anlamda uygulamanız güçlü. Ama frameworkler de en
 çok tercih edilen özellik; uygulama mantığının, veritabanın ve sunumun
 ayrı katmanlarda çalıştırılması.(Sizin de bildiğiniz
 Model-View-Controller Patterni) Bu programcı-tasarımcı ayrımını ve
 işbirliğini kolaylaştırıyor.

 Sizin uygulamanız bileşen tabanlı ve tüm bu uygulama üretim mantığı
 içiçe anladığım kadarıyla(yanlış anlıyorsam lütfen beni düzeltin.)
 Bu anlamda programcı-tasarımcı ayrımını tamamen ortadan kaldırıyor
 gibi göründü bana...Yani genel yaklaşımdan farklı bir yol.

MVC'yi ben tasarımcı ve programcının ayrılması olarak görmüyorum, bunlar
zaten ayrık olgular bence. Uygulamanın görsel çıktısı, modeli ve
bunların etkileşimlerinin birbirini etkilemeyecek şekilde kodlanabilmesi
olarak algılıyorum. Bu şekilde düşünülürse geliştirmekte olduğumuz
uygulama sunucusu ve bunun kullandığı kütüphaneler işlerini görüyorlar.
Bir senaryoyla örnek verebilirim.

Bir ana sayfa tasarlarken, öncelikle tasarımcının her türlü aracı
kullanarak (kağıt kalemden, bilgisayar destekli çizim programlarına) bir
konsept ortaya koymasıyla başlıyoruz. Daha sonra konsept 

[cs-lisp] Core Uygulama Sunucusu

2007-05-24 Başlik ahmet usal

Bu başlık altında devam etmek sanırım daha uygun:)

Aycan Bey; öncelikle üretilen html-css ve javascript kodunun dinamik olarak
ayrı ayrı dosyalara yönlendirilip sunum kodunun temiz kalması çok iyi bir
özellik. Özellikle bu kod Graceful
Degradationhttp://en.wikipedia.org/wiki/Graceful_degradationve
Progressive
Enhancement http://en.wikipedia.org/wiki/Progressive_enhancementniteliklerine
sahipse.

Öneri olarak; bir ajax uygulamasının yüklü javascript ve css koduna sahip
olacağını gözönüne alarak; farklı optimizasyon teknikleri için muhtemelen
bildiğiniz bir kaç örnek link verebilirim:

http://www.peterbe.com/plog/gzip-and-slimmer-optimization

http://www.hunlock.com/blogs/Compressed_HTML_makes_your_pages_zippy

http://www.hunlock.com/blogs/Supercharged_Javascript

Anlayabildiğim kadarıyla; bileşen tabanlı uygulama; projeye hakimiyeti daha
güçlü kılan ve kolaylıkla özelleştirilebilinen imkanlar sunmakta. Benzeri
bir altyapı da sanırım Seaside http://www.seaside.st/frameworkünde mevcut.
Smaltalk dili üzerine inşa edilmiş yine bileşen tabanlı ve programlanabilir
html üretimine olanak sağlıyor.

Eğer tasarımcılar konuya hakimse (html-javascript ve css'in yanında lisp ve
smaltalk biliyorlarsa) üretimin hızını arttıracak bir süreç sağlayabilir.
Farklı yönleri çok olmakla beraber, Ruby on Rails framework'ünün RJS
template olanağı gibi; ruby ile javascript üretimi.

Yine de benim görüşüm başta sizin bahsettiğiniz olguyla aynı doğrultuda :

Ancak ben tasarımla ilgilenen insanlardan yıllardır ufak tefek de olsa kod

yazmalarını beklerken, bu ısrarlarımın yersiz olduğuna tanık oldum.
Tasarımcılar bazen acemilikleri ile, bazen de sanatsal bakış açılarıyla
üretimlerini tamamen görsel kaygılar üzerine yoğunlaştırıyorlar.



Eğer bir uygulamanın sunumunu ayrı insanlara tasarlatıp kodlamalarını
sağlıyorsanız;  html üretiminin programlamadan ayrı olması tasarımcı için
daha büyük rahatlık olabilir. Bu konuda benim gördüğüm en iyi örnekler Php
dilinde Smarty http://smarty.php.net Template sistemi ve Python Frameworkü
Django http://djangoproject.com'nun
Templatehttp://www.djangoproject.com/documentation/templates/sistemi.
Özellikle Django Templating sunumla program mantığını en kuvvetli
ayıran sistem. Ayrıntılı Belgelendirmesi
buradahttp://www.djangobook.com/en/beta/chapter09/ve
burada http://www.djangobook.com/en/beta/chapter10/ mevcut.

Lisp için örnek bilmiyorum ama elisp için iyi bir örnek

http://www.cognition.ens.fr/~guerry/blorg.html

Ve sizin de çok iyi bildiğiniz Emacs-Muse Modu...

Çok büyük deneyimlere sahip değilim. Oturup sıfırdan program yazmışlığım
yok. Kendi ihtiyaçlarımı genelde Emacs (Muse ve Nxhtml modu) ve daha çok
güncellenebilir içerik gerekiyorsa textpattern
http://www.textpattern.orgile drupal
http://drupal.orgcms sistemleriyle karşılayabiliyorum. Textpattern şablon
sistemi de çok güçlüdür. Tasarımcıya her türlü özgürlüğü verir. Drupal
oldukça zorlar.

Sanırım ne demek istediğimi anlatabilmişimdir.

Kolay Gelsin, saygılarımla...












--
aHmeTus
___
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp