[cs-lisp] Emacs Web Geliştirme Ortamı Devam
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
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
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