Cordova / phonegap nedir ?



Herkese selamlar ,

Günümüzün en popüler ve en tartışılan konulardan biri olan hybrid mobil uygulamalarla gelen phonegap ve cordova daha da aklımızı bulandırdı. Phonegap ve cordovanın ne olduğunu nasıl kullanılması gerektiğini öğrenmem bir zaman aldı. İyice kavradıktan sonra konu elle almaya karar verdim. 

Nedir bu cordova ?
Cordova yazdığımız HTML, CSS ve JS kodlarını mobil uygulama olarak çıktı veren bir araçtır. Apache Cordova da Hybrid uygulamalar geliştirebilmek için yazılmış bir frameworktür. En güzel özelliği  ücretsiz ve açık kaynak kodlu olmasıdır. Sunduğu plugins kullanarak işlem gerçekleştirebilirsiniz örneğin email gönderme scan özelliği kullanma gibi  bir işlem gerçekleştirecekseniz uygulamanızda  Cordova’ nın bunlarla ilgili plugin ini indirmeniz gerekmektedir.
Peki PhoneGap Nedir ?

Phonegap ,cordova ile temelde aynı işe yarıyor. Ancak Phonegap cordova’nın üstünden yazılmış bir frameworktür. Yani phonegap’in temel motoru yine cordovadır. Adobe tarafından geliştirilmektedir. 

Hybrid uygulama için sadece cordova veya phonegap frameworkleri mevcut değildir.



Notepad++ ve Ftp



Herkese selamlar,







     Yazılıma yeni başlayan arkadaşlar için olmaz olmazımızı açıklıyorum. Notepad++ 👍 Notepad kaynak kod düzenleyicisidir. Elbette çeşitli kaynak kod düzenleyiciler var. Ama en geniş kapsamlı ve eklentileri ile en kullanışlı olan nppdır. Eklentilerden kastım şu ki NppFTP, HTML Tag,Compare Plugin,JSON Viewer,Preview HTML vs. Bugün en çok kullanılan ya da benim hayran olduğum eklenti den bahsetmek istiyorum.


     NppFtp plugin nedir nasıl kullanılır inceleyelim. NppFtp ile Uzak sunucu bağlantısı yapabiliriz. Ftp programları gibi çalışır. Server da ki dosyamıza direk erişebilir ve yaptığımız değişiklikleri üzerine kaydedebiliriz. Ftp programlarında bu işlemi yapmak pekte kolay olmuyor. anında yapmak harika değil mi sizcede :) Peki bunu notepad++ nasıl ekleriz ? Notepad++ ücretsiz olarak bilgisayarınıza indirin. Kurulumu oldukça basittir. Kurulum yaptıktan sonra programızı açıyoruz, Eklenti yöneticisi kısmından Plugin managerdan nppFtp seçip yüklüyoruz. Daha sonra Plugins ->NppFTP -> Show NppFTP Window sekmesine tıklayarak nppFTP ekrandaki yerini alır. Şimdi yapmanız gereken şey FTP bağlantısı yapılandırmak. Setting (Ayarlar) sekmesinden General Settings (Genel ayarlar) seçeneğine tıklıyorsunuz. Buradan kendinize bir profil oluşturuyorsunuz. “Add new” butonuna basınız. Hostname, Username, Password, Port bilgilerini giriyorsunuz. FTP için bağlantı noktasını 21’dir. FTP ekranından Connect düğmesine basarak işlemlere başlayabilirsiniz.


Görüşmek üzere...




IoT (Internet of Things )

Herkese selamlar

      Geçen yazımda bahsettiğim konferansa gitmeden orada duyacağımız , öğreneceğimiz kavramlara yabancı kalmamız gerektiğini düşünüyorum. Bu yüzden ilk olarak IoT kavramından bahsetmek istiyorum. İleri yaşantımızda her zaman karşımıza çokça çıkacak olan bu konuyu gelin beraber inceleyelim .

      IoT açılımı Internet of Things yani nesnelerin interneti. Her şeyi birbirine bağlama ve akıllandırma diyebiliriz. Bildiğiniz bir şeyden bahsediyorum Akıllı ev sistemlerinden . Evinizde olmadığınız halde klimanızı yönetme şansı sunan bu teknoloji günümüzde ve gelecek yıllarda daha çok fikir ile karşımıza çıkacaktır. Evimizde bulunan -bulunacak- olan her elektronik cihaz doğrudan kablosuz ağa bağlanabilir duruma gelmiştir. Böylece doğru IoT cihazlarını seçerek evinizde her tür işi otomatik hale getirmeniz mümkün olacaktır. Örneğin Bir akıllı çatal olan Hapifork, hızlı yediğinizde ya da gün içerisinde fazla yemek tükettiğinizde sizi uyarıyor ve düzenli beslenmenize destek oluyor. Bir başka örnek verecek olursak; Akıllı evler için şu anda en fazla tercih edilen ürünlerden biri Smart Things. Ürünü akıllı telefonunuz üzerinden desteklenen cihazlarla entegre ederek, sabah uyandığınızda kahveniz yapılmaya başlanabilir ya da eve geldiğinizde ışıklar veya müzik sistemi otomatikman açılabilir.
    "Peki biz yazılıcımlar kendi Iot projemizi yazabilir miyiz" sorusunun yanıtı tabii ki evet. Bunun için arduino, ESP8266,Raspberry Pi donanımlarını kullanarak geliştirebilirsiniz. Bunun için size bir link bırakıyorum buradan örneklerle geliştirebilirsiniz :)
     IoT ile geliştirilecek olan ürünlerin sayısı da gün geçtikçe artacak. Günlük yaşantımızda, tarım alanında, akıllı şehir ve ev konseptinde, binalarda, enerji tüketiminde, güvenlik ve sağlık gibi alanlarda kullanılacaktır. İleride bizi büyük sürprizler bekliyor olabilir.


Görüşmek Üzere...

GDG Devfest'17 İstanbul






Herkese selamlar,

     Uzun zaman sonra yeni bir konferans haberi ile karşınızdayımmm😎Bu konferansı duyduğunuzda  sizide heyecanlandıracak. Çünkü Türkiye’nin en büyük geliştirici konferansı geliyoooor💢GDG Devfest'17 İstanbul  26 Kasım'da Kadir Has Üniversitesi'nde🙋

   Nedir bu GDG İstanbul diyenler için kısaca anlatalım. Açılımı  Google Developer Group Istanbul . Google teknolojilerine ilgi duyan yazılım geliştiricilerin bir araya gelerek oluşturduğu bir topluluktur. (Tüm Dünyada) Toplululuk, senelerdir etkinlikler düzenleyerek güncel konuları ele alıp, katılımcılarıyla paylaşıyor. Peki GDG Devfest nedir ? Onada biraz değinelim GDG Devfest'ler GDG topluluklarında yer alan kişiler tarafından organize edilen non-profit konferanslardır.

    Bu sene neler olacak mı ?  Gün boyu mobil ve web teknolojileri, cloud, iot, machine learning & ai ve kullanıcı deneyimi konularında oturum ve workshoplar düzenlenecek. Ayrıca 20 adet indirim çeki Robotistan dan hediye .Sponsorlarda Google ve Microsoft (gold sponsor).

Nerede , Ne zaman, Ne kadar ?👇👇👇👇



Bu konferans kaçmaz !!!

Görüşmek üzere...

Hello IONIC



Herkese selamlar,

     Kaç zamandır cross- platformdan bahsetmekteyim.Yani tek bir kod ile Android, iOS, Windows Mobile gibi tüm platformlarda web sitesi geliştirir gibi uygulama yazmanızı sağlayan sistemlerden. Çoğumuz ionic kullanıyor (Ben kullanmıyorum), çoğumuzda ismini duyduk ama kullanmaya öğrenmeye adım atmadı. O zaman benim de kullanımı merak ettiğim ionic'in ne olduğunu öğrenelim. 




     IONIC Framework, yazacağınız tek bir kod ile tüm platformlarda uygulama yazmanızı sağlayan sistemdir. IONIC framework AngularJS, HTML5 ve CSS kullanır. Açık kaynaklı ve ücretsizdir. Bu durumda anlıyoruz ki angular js öğrenmek farz. Bu işin en güzel yanlarından birisi de uygulamaları test ederken emulator kullanmak yerine browser üstünde test edebilmemiz. Uygulamamızın hem ios hem androidde nasıl görüneceğini görebiliyoruz. 



     Ios ve androidde tasarım farkı olduğunu biliyoruz. Bu yüzden her ikisi içinde ayrı ayrı css yazmak zorunda değiliz. Ionic kendiliğinden bu farkı kapatıyor. Yani biz ekstra CSS yazmakla uğraşmıyoruz ionic kendiliğinde yapıyor. Tabii ki bazı değişikleri css ile düzeltebiliriz. Sadece temel değişiklikler önceden yapılmış durumda.

    Ionic öğrenmeye değer gibi hadi bir merhaba dünya ile işe başla !!

Görüşmek üzere...

PHP ile MySQL'e Bağlanmak

Herkese selamlar,

     Hybrid yazılımda web servis kullanımının öneminden bahsetmiştik. Web servis yazmanın bir çok yolu var tabii ki. Php ile web servis yazmayı tercih edersek eğer ilk olarak veritabanına bağlanmayı öğrenmemiz gerecektir :) Öyleyse hemen başlayalım.

     PHP Kullanarak MySQL'e Bağlanmak için
  1. mysqli ifadesini kullanarak MySQL sunucunuza bağlanırız. Bunu tek satırda gerçekleştiririz. 
    $con = new mysqli('HOSTNAME','USERNAME','PASSWORD','DATABASENAME');
  2. Yukarıdaki satır ile veritabanına bağlandıktan sonra sorgu başlatabilirsiniz.mysqli_query kullanarak erişmek istediğimiz tabloyu seçebiliriz.
    $result= mysqli_query($con,"SELECT * FROM name").                    

JSON vs XML


Herkese selamlar,

     Web servis konusunu işlerken elbette ki json ve xml veri formatlarını duymuşsunuzdur. Veri saklamak, uygulamalar arasında veri transferi yapmak için XML ve JSON kullanılır. Json ve Xml aslından aynı görevi yapar. Zamanla xml dilinin veri alış verişinde yavaş kalması durumunda Json dili geliştirilmiştir. 

      Peki bunlar arasında ki fark nedir ? Hangisi kullanılmalı ? işte cevapları !

     Elbette ki sırtınızda onlarca yük taşımak istemezsiniz. Gereksiz olan her şeyi atmak daha hafif bir yük taşımak isterseniz bu durumda. xml kullanmayı bırakmalı (tabi her zaman olmayabilir) json kullanmaya başlamalısınız. XML gereksiz etiketlerden dolayı çok büyük dosyalarda yük oluşturacaktır. avantajı ise bir çok programcının alışkın olduğu bir dildir. XML ile markup dillerinden çıkmıştır.   XML'de dizi diye ayrı bir kavram yoktur.  XML örneği ve daha detaylı öğrenim için tıkla.

     JSON’ın Avantajı ise gereksiz kod ve etiket içermediğinden dolayı çok hafiftir ve büyük boyutlu dosyalarda ekstra yük oluşturmaz. JSON'un , XML'e göre daha kısa bir yazımı vardır ve daha kolay okunabilir ve yazılabilir. JSON çıkış noktası Javascript'tir.  JSON'da dizi desteği vardır.JSON örneği ve daha detaylı öğrenim için tıkla.

     Unutmamalı ki veri büyüdükçe ikisi arasındaki farkı daha net görürüz.

Görüşmek üzere...


Hybrid Mobil Uygulamada Web Servis

Herkese selamlar,




     Hybrid mobil uygulamalarda direkt veri tabanına bağlanma gibi bir durum söz konusu olmadığı için veri servis yazmalıyız. Diğer bir tanımla web servis . Veri tabansız bir uygulama ( Büyük çaplı bir uygulama için) düşünülemez bu yüzden ya web servis yazmayı bilmelisiniz ya da bir backend developer ile çalışmalısınız. 


  Öncelikle web servis nedir bunun tanımını yapalım. Web servisler, HTTP protokolü ile XML,JSON,TEXT, HTML gibi yanıtlar gönderip alarak iki cihaz arasındaki iletişimi sağlayan bir haberleşme yöntemidir. Web Service ile platform bağımsız tüm cihazlara veri aktarımı gerçekleştirilir. Örneğin mesajlaşma uygulamanız Android, IOS, windows Phone gibi işletim sistemli cihazlarda rahatlıkla çalışır. Yani web servisiniz veri tabanınıza bağlanır ve sizin istediğiniz verileri karşıya gönderir. Kulağa çok hoş geliyor değil mi ? 2 çeşit web servis vardır. Bunlar Restful ve SOAP. Aralarında ki fark Restful ile xml, json, text, html türde yanıtlar alıp gönderebilirken, SOAP  da sadece xml ile işlem yapabilirsiniz. SOAP da xml işlem yapabilmek için metodlar kullanılır. Örneğin yazdığınız metodun adı deneme ise deneme metodunu çağırmanız gerekli. Restful’da ise url kullanılır. Örneğin ‘http://localhost:xxxx/deneme’ şeklinde. Json ve xml konuları ile ilgili detaylı yazı yazacağım.
Peki ne kadar güvenli ? Doğrudan veri tabanına erişim olmadığı için tehditlerden web servis ile korunabilirsiniz. Unutulmamalı ki web servis de sadece sizin belirlediğiniz veriler gözükmektedir. 


   
     Mobil uygulamalarda web servis kullanımı en iyi Facebook Messenger ile örneklendirilebilir. Mesajlarınız  hem web sayfasına hemde Facebook Messenger' a gelir. Bu web servis ile yapılır. Burada web servisin platform bağımsız olduğunu da görmüş oluruz.

     Web servisi hangi diller ile yazabilirim diye soracak olursanız buyrun yazıma : )

     Görüşmek üzere...

Hybrid Mobil Uygulamada Veritabanı Kullanımı




Herkese selamlar,

     Hybrid’in arka tarafıyla ilgili pek bilgi paylaşımında bulunmadım. Bugün back end bölümüne değinmek istiyorum. Uzun uzun yazmak yerine soru cevap şeklinde yazımı yazacağım. 
  • Hybrid de doğrudan veri tabanı sunucusuna bağlanılır mı?
          Hayır, doğrudan bir veri tabanı sunucusuna bağlanamaz. 
  • Veri tabanı sunucusuna nasıl bağlarız?
        Bu sorunu çözmek için kendi veri servisinizi yaratmanız gerekiyor. 
  • Veri servisi oluşturmak için hangi programlama dilini kullanmalıyız?
       PHP, Node.js , ASP, ASP.NET vs
  • Hangi veritabanı yönetim sistemini kullanmalıyız?
       Oracle, mySQL, MS SQL vs 

      Sorulabilecek en önemli soruların bunlar olduğunu düşünüyorum. 

Görüşmek üzere…

Hybrid vs Native





Herkese merhabalar,

    Bugün ki konumu sizler seçtiniz. Bildiğiniz gibi instagram da soru cevap bölümünde en çok sorulan soruyu elle alacağımı söyledim. Bu doğrultuda konumuz native mı hybrid mı oldu.

      Native ve hybrid uygulamaları anlamak için önce bir tanımlarına bakalım. 

    Native mobil uygulamalar, iOS ve Android gibi farklı platformlar için farklı programlama dilleri ve geliştirme paketleri gerektirirler. Java, Objective-C , Swift  programlama dilleri bulunmaktadır. Java ile geliştirilen Android uygulamaları, Objective C veya Swift ile geliştirilen iOS uygulamaları native uygulamalardır.


     Hybrid mobil uygulama tekniği, temel olarak ‘write once, run everywhere’ yani tek bir kod çıktısı ile birden fazla platformda çalıştırılabilmek üzerine geliştirilmiştir. Native uygulamalar gibi sistem kaynaklarına doğrudan değil de bir ara katman ile erişir.

   Hybrid uygulamalar HTML5, CSS3 ve JavaScript ile geliştirilir. Farklı cihazlarda ve ekran çözünürlüklerinde rahatlıkla benzer uyumluluk göstererek çalışır.  Üstelik geliştirmesi zaman ve bütçe açısından az maliyetlidir. Öğrenimi de az zaman alır.  Aynı zamanda cross-platform geliştirme olarak da adlandırılır. Tüm platformlar için aynı sonuç üretilir ve native benzeri uygulama geliştirilir.

   Çalıştığım dönemde hybrid ile büyük bir proje yapmıştım. Bu uygulama üzerinden anlatmak isterim. Uygulamada veri alıp gösterme dışında farklı işlemlerde mevcuttu ve gayet başarılı bir uygulamaydı.  Native ve hybrid performans açısından her zaman ayrı tutulmuştur. Ama ben öyle düşünmüyorum çünkü uygulamada performans açısından büyük farklar göremedim.  Cihazların özelliklerine göre  uyumluluk ve tasarımda da sorunlarla karşılaşmadım. Evet benimde ilk başlarda korkularım vardı ama hybrid gayet kullanılabilir. 

    Elbette unutmamalı ki kodlarınızı uzatmaktan kaçınırsanız hızlı bir performans elde edersiniz.

    Tavsiyem hybrid'den yana. 

    Hybrid Öğrenmekten zarar gelmez :))

Görüşmek üzere...









Hybrid ile Read File

Herkese selamlar,

     Dosyadan yazma ve okuma işlemlerini ilk c++ ile gerçekleştirdim. O zamanlar bana oldukça zor ve karmaşık gelen bir işlemdi. Zamanla kolay olduğunu anladım ve farklı diller ile gerçekleştirmeye başladım.

     Bugünde sizler için dosyadan okuma işlemini hybrid ile yapacağız. Dosya işlemlerinin mantığını anladığınız takdirde zor olmadığını sizlerde anlayacaksınız.

Evet Başlayalım !!

    Tabii ki sayfa ilk açıldığında arka planda load fonksiyonlar hemen devreye girmeli ve okuma işlemini hazır hala getirmeli. İşte load fonksiyonlar.
    
     function FileSystemFail(evt) {
        alert('Error:' + evt.error.code.toString());
    }
   
    function GetFileEntryReader(fileEntry) {
        fileEntry.file(ReadFile, FileSystemFail);
    }
    function ReadFile(file) {//Okuma işlemini gerçekleştiren fonksiyon.
        var reader = new FileReader();
        reader.onloadend = function (evt) {
            viewModel.txtValue(evt.target.result);
            alert('Okuma tamamlandı');
        };
        reader.readAsText(file)
}

    Yukarıdaki fonksiyonlarda bilmediğiniz örneğin FileReader gibi terimler varsa öncelikle dosya okuma işlemini araştırınız.

    Butona basınca okuma işlemini gerçekleşmesi için de  (elbette ki en önemli nokta hybrid için bu kısım oluyor) aşağıdaki fonksiyonu yazarız. Buradaki application1 yerine kendi proje isminizi yazmanız gerekli.

 onButtonReadClick: function (e) {
            if (Application1.fileSystem == null) {
                alert('Dosyaya ulaşılamadı');
                return;
            }
            Application1.fileSystem.root.getFile("satirarasicode.txt", { create: true }, GetFileEntryReader, FileSystemFail);
        }


    Biraz daha bakıp araştırırsanız yukarıdaki kodların çok işe yarar olduğunu anlayacaksınız. Şimdilik bu kadar...

Görüşmek üzere....

"Use Strict " Mode Nedir ?

     



     Devextreme kullanmaya başladığım sıralarda .js sayfasının en başında "use strict" yazısıyla karşılaştım. ve silme ihtiyacı hissetim. ve sildiğimde herhangi bir hata almadım. O yüzden her gördüğüm yerden sildim. Bence bir sorun yoktu ve bu yazı çok gereksizdi...

     Oysa amacı çok büyükmüş !! Bizleri belli kurallar çerçevesinde kod yazmaya ve bug oluşmasını minimuma indirgemeye çalışıyormuş. Ayrıca oluşan hataları kolayca ayıklamamıza yardım ediyor. javascript kod yazım/kullanım kod standardı olan Ecmascript’in Ecmascript5 versiyonu ile Strict Mode (SM) kullanıma sunuldu. "Use strict" bir komut değildir.

Tüm fonksiyonlar için geçerli olması isteniyorsa fonksiyonların dışına yazın.
"use strict";
function test() {
}
function testiki() {
}

 Tek bir fonksiyon için geçerli olması isteniyorsa fonksiyonun başına yazın.

function test() {
"use strict";
}

    Neden “use strict” kullanmalıyız ? Çünkü  JavaScript’i daha güvenilir hale gelir. Normalde hata olarak algılanmayan  kötü syntax ları  hataya çevirir. Bu durumda onu değerli kılar. Tercih tabii ki size ait. Bana soracak olursanız ben kullanmayı tercih ediyorum. 

Görüşmek üzere...


Devextreme ve Css





Herkese selamlar,

     Devextreme ile tasarım yapmak düşündüğünüz kadar kolay değil. Çünkü ios ve android telefonlar için farklı css dosyaları mevcuttur.  Bu yüzden yaptığınız tasarımlar elbette birbirinden farklı olmak zorunda. Tabii ki bazı ortak tasarımlar mevcut. Buton tasarımından textbox tasarımına kadar farklılıklar olduğunu göreceksiniz. Sizde benim gibi tasarım ile  yani css ile uğraşmaktan zevk alıyorsanız bu iş pekte canınızı sıkmamıştır.

     Devextreme içerisinde birden fazla css dosyası içermektedir. Fakat en önemli css dosyaları ebetteki android ve ios tasarımını içeren dosyalar.  İçerisinde her tool için css içermekte . Basıldığında nasıl olsun, basıldıktan sonra nasıl olsun vs her adım içermekte. Bunu incelemek zor olabilir tabii ki vakit alan bir işlem . Bunun için tabii ki Google incele özelliğiyle ilgili alanın css bilgilerine ulaşabilirsiniz.


     Peki ben ekstra css yazamaz mıyım ? dediğiniz duyar gibiyim. Tabii ki sizde yeni bir css dosyası açıp istediğiniz sayfaya yeni tasarımlar ekleyebilirsiniz. Unutmamalı ki html5 kullandığınız için css kullanımı oldukça esnek. Ayrıca css dışında bootstrap de kullanabilirsiniz.

     Devextreme css denemeleri yapmamız  için harika bir çalışma alanı yapmamış.Sizlere linki veriyorum . Buradan çalışma yaparak yaptıklarınızı kopyalayarak projenizde kullanabilirsiniz.

Bol css çalışmalı günler dilerim :)




Samsung Galaxy Note 8

     
     Ben hala note 3 ile oynarken samsung galaxy note 8'i tanıttı bile :) / bayağı geride kaldım galiba/ Tabi yazılım geliştiricisi olarak- hemde mobil- geride kalmak  olmazdı.  O yüzden tüm note 8 özelliklerini gelin beraber öğrenelim.


     Galaxy Note 8 depolama tarafında bizi doyuracak gibi . 6 GB RAM'e sahip olan note 8 , depolama alanı 64 ,128 , 256 GB olmak üzere üç farklı seçenek ile karşımıza çıkıyor. Fakat ülkemizde cihazın sadece 64 GB'lık versiyonu satışa sunulacak. Ayrıca microSD destekli.

     Android 7.1.1 Nougat işletim sistemi ile satışa çıktı. Önümüzdeki dönemde yayınlanacak olan Android 8.0 Oreo güncellemesi tabi ki alarak daha da işlevsel hale gelecek. 

      Samsung kullanıcıların çift arka kamera beklentisini note8 ile cevapladı. 

Arka Kamera: 12 Megapiksel f/1.7 ve 12 Megapiksel f/2.4, OIS

Ön Kamera: 8 Megapiksel f/1.7


     Peki renkleri nasıl olacak? Bazı kullanıcılar için önemli detaylardan biri de bu. Gece Siyahı, Orkide Grisi ve Altın Sarısı renkleri ile 18 Eylül'de raflarda yerini alacak. 


     Ya fiyatı nedir ? Herkesin duymaya korktuğu cevap ise 4999 TL fiyat.  24 Ağustos - 18 Eylül tarihleri arasında ön siparişler alınacak.Ön sipariş veren kullanıcılara 500 TL'lik aksesuar hediye kuponu ,19 Eylül - 6 Ekim tarihleri arasında sipariş veren kullanıcılara ise 300 TL'lik aksesuar hediye kuponu dağıtılacak.

Ekran işlemci ve boyut- ağırlık özellikleri ise 

Ekran: 6.3 inç, QHD+, 2960 x 1440 piksel, Super AMOLED, Gorilla Glass 5

İşlemci: Exynos 8895 ( 4 x 2.5 GHz Exynos M2 + 4 x 1.7 GHz Cortex-A53 )

Boyut ve ağırlık: 162.5 x 74.8 x 8.6 mm - 195 gram bu şekilde.

     Ve son bir özellik olarak da 1.5 metre derinlikte suyun altında 30 dakika boyunca kalabiliyor akıllı telefonumuz.

     Hayırlı olsun :)





Android Oreo Geldi

Android O' nun ismi hakkında çok yazılıp çizildi ve tahminler Oreo olacağı yönündeydi. Ve öylede oldu. Google söz verildiği gibi Güneş tutulmasının olduğu gün açıklandı , tahminler doğru çıktı isim Android Oreo







Peki bu Android Oreo'yu oreo yapan nedir ? İşte cevabı !

Android Oreo (Android 8.0 ) 3D Touch desteği ile uygulamanın üzerine basılı tutulduğunda kullanıcılar birden fazla işlemi yapabilecek. Yeni bildirim noktaları ile bir nevi iOS'u bize hatırlatacak. (İOS hatırlatması pek hoş değil lakin) Bu özellik sayesinde herhangi bir uygulamadan gelecek bildirimleri kategorilerine göre durdurabilirsiniz. Picture in picture özelliği ile de video izlemek için ekranı ikiye bölmeye ihtiyaç duymayacaksınız. Yaşasın tam ekran uygulamalar yaşasın küçük ekranda oynayan video :) Ayrıca emoji severler içinde Google, yeni sürüm ile emoji'leri de baştan aşağıya yeniledi. 
Oreo'nun en güzel özelliklerinden biri de telefon cebinizdeyken arka plan servislerinin ve konum güncellemelerinin durdurarak uzun pil ömrü sunması. Bu demektir ki Android en iyi sürümü ile karşımıza çıktı. Bitti mi bitmedi !! Uyarlanabilir simgelerle birlikte simgelerinizin şeklini istediğiniz gibi seçebilirsiniz ki buna aşırı sevindim neydi arkadaş 3.parti tema uygulamalar :D Kolay bir kullanım sağlayacak olan oreo'da en önemli özellikler bunlar diyebiliriz.

Oreo, ilk olarak Pixel ve Nexus telefonlara sunulacak. Ardından ise diğer cihazlara ...

Android Oreo güncellemesini alacak bazı telefonların listesi;
  • Google Pixel
  • Google Pixel XL
  • Google Pixel 2
  • Google Pixel C
  • Google Nexus Player
  • Samsung Galaxy S8
  • Samsung Galaxy Note 8
  • Samsung Galaxy S8 Plus
  • Samsung Galaxy S7 Edge
  • Samsung Galaxy S7
  • Samsung Galaxy A3 (2017)
  • Samsung Galaxy A5 (2017)
  • Samsung Galaxy A7 (2017)
  • Samsung Galaxy A8 (2017)
  • Samsung Galaxy C9 Pro
  • Samsung Galaxy J7v
  • Samsung Galaxy J7 Max (2017)
  • Samsung Galaxy J7 Pro (2017)
  • Samsung Galaxy J7 Prime
  • Samsung Galaxy A9 (2016)
  • Samsung Galaxy A7 (2016)
  • Samsung Galaxy A5 (2016)
  • Samsung Galaxy A8 (2016) (A810F, A810DS)
  • Samsung Galaxy Note FE
  • LG G6
  • LG G5
  • LG V30
  • LG V20
  • LG V10
  • Nokia 3
  • Nokia 5
  • Nokia 6
  • Nokia 8



Array push & Local Storage

Herkese selamlar,

Local storage da arrayı tutmak ve eklentiler yapmak istiyor ve yapamıyorsanız doğru adrestesiniz.

Öncelikle local storage nedir  

Local Storage yani Yerel Depolama Local Storage mantığı kalıcı çerezler gibidir. Veriler telefon hafızasında ya da bilgisayar da depolanır. Kullanıcı verileri silene kadar ya da tarayıcı silinene kadar veriler silinmez. Local Storage özelliği tabiki Javascript ile kullanılıyor.

Şimdi array ile kullanımını öğrenelim ! (Tabiki verilerimizi json' a çevirerek kullanacağız.)




function ekle() {
    
    var arrays = JSON.parse(localStorage.getItem("tümveriler"));
   if(arrays == null)arrays = [];
    var textbox1 = document.getElementById("baslik").value;
    var girilen_deger = {
        "title": textbox1
    };
    localStorage.setItem("girilen_deger", JSON.stringify(girilen_deger));
    arrays.push(girilen_deger);
    localStorage.setItem("tümveriler", JSON.stringify(arrays));
};

Devextreme ile Share butonu


Uygulamanızda paylaş butonu yapmak istiyorsanız sadece Devextreme kullanarak bunu yapmanız mümkün değil maalesef. Bunun için  phonegap kullanmanız gerekli. Peki bu phonegap nedir diyorsanız Phonegap nedir adlı makalemizi buradan okuyabilirsiniz.

Hadi başlayalım !

Sayfamızda bir fonksiyon oluşturuyoruz. Ve içerisne bu kodu ekleriz.


window.plugins.share.show({subject: 'Hi there!'text: 'Main message here',
imagePath: '  '}, success, fail);function success() {}function fail(error) {}
Fonksiyonumuzu daha sonra onClick özelliği ile butona bağlıyoruz.

İşte bu kadar basit ...

Herkese iyi çalışmalar

Apple Store'a uygulama yüklerken deli olmamak

Kusursuz  kodlama , sıkıntısız testler 👌 Ve şimdi yükleme zamanı !!! Gönder butonuna bastık mı bu iş tamam 😎 evet !  evet ! eee !  neden yüklenmiyor !? diyen  98765. yazılımcı oldunuz tebrikler🎉Apple Store'a uygulama yüklerken deli olmamak için çözümler sırasıyla aşağıda bulunmaktadır.
  1. ASLA  ama ASLA  unutmamız gereken bir şey var . Her yaptığımız işlemin ekran resmini alıyoruz.
Yukarıdaki önemli bilgiden sonra başlayalım
1. https://itunesconnect.apple.com/login adresine giriş yapılır.
2. Gelen ekrandan my apps bölümüne tıklanır.
3. Gelen ekrandan var olan uygulamalarımız ve üstte + işareti bulunur.
4. Yeni uygulama yüklemek için + işaretine tıklanır. Ve new app tıklanır.
5. Açılan ekrandan gerekli alanlar doldurulur. Sku istenen şekilde yazılabilir. Bundle ıd ilk sertifika oluşturulurken oluşturulur. Create tuşuna basılır.
6. Yeni açılan ekranda app information bölümü doldurulur.
7. İos app başlığına tıklanır. Burada ekran resimleri yüklenir, dil seçilir. app icon yüklenir. Açıklamalar yazılır.

Devextreme ile dxdatagrid veri alımı 1

Datagrid en çok kullanılan toollar arasında. Datagrid için de 3 yöntem var ve aynı yöntemler hepsi için geçerli çünkü devextreme knockout, jquery ve angular js kullanıyor. o yüzden bu yolda herşey mubah. Sadece bir yöntemden bahsedeceğim. Başlayalım

Dxdatagrid için en çok merak edilen olay json verileri nasıl alınırdır?
bunun için en basit yöntem elbette ajax. Fakat biz  bugün devextreme ait bir fonksiyon kullanarak yapacağız.

JS CODE
js file içerisine

dataSource: {
 load: function (loadOptions) { 
var d = new $.Deferred(); 
var params = {}; 

 if (loadOptions.filter) {
 params.filter = JSON.stringify(loadOptions.filter);
 }
if (loadOptions.sort) {
 params.sort = JSON.stringify(loadOptions.sort); 
}
 if (loadOptions.dataField) {
 params.dataField = loadOptions.dataField; 
}
if (loadOptions.select) { params.select= JSON.stringify(loadOptions.select); 
}
if (loadOptions.group) {
params.group = JSON.stringify(loadOptions.group);
 }
 params.skip = loadOptions.skip;
 params.take = loadOptions.take;
$.getJSON('http://localhost:56253/test/3?format=json', params).done(function (data) { d.resolve(data);
 }); 
return d.promise(); 
}

Devextreme ile Textbox

Evet devextreme sıra geldi.  Bugün devextreme ile textbox kullanımı anlatacağım.
Textbox oluşturup tanımlamanın üç yolu var. Sırasıyla başlayalım.

İlk Yol
html code içerisine aşağıdaki gibi  yazarız.
HTML CODE
 <div data-bind="dxTextBox: { value: txtValue}"></div> 
Çalıştırdığımızda txtValuenun undefined olduğu  yazar ve hata verir.
Bunun için js kodları içerisine
JS CODE
txtValue:ko.observable(" "); 
yazarız.

2. Yol
Diğer bir yöntem ise
html code içerisine aşağıdaki gibi  yazarız.
HTML CODE
<div id="textBox"></div>  
JS CODE
js içerisine ise
$("textBox").dxTextBox({
value:" ";
})
yazarız.

3. Yol 
Sonuncu yöntem ise
html code içerisine aşağıdaki gibi  yazarız.
HTML CODE
<div data-bind="dxTextBox:text" ></div>
kodunu yazarız.
JS CODE
js içerisine ise
text:{
value:" ";
}
kodu yazılır.

İşte bu kadar basit sizin için o an en kolay yöntem hangisi olacaksa onu secebilirsiniz.Genellikle tercih ettiğim ilk yöntemdir. Kolay gelsin.

Bize Her Yer Snapchat

     Hayatımıza giren sosyal medyaların her birinin kendine has özellikleri mevcuttur. Kimi yıllar yıllı görmediğin arkadaşını görmek için, kimi özel anlarını süslü püslü fotoğraflarla paylaşmak için , kimide şak diye gün içinde neler  yaptığımızı paylaşmak için,kimide içimizde kalacağına sanal ortamda kalsın diyerekten paylaştığımız yazılar için, ha bide hala özünü koruyan business içerikli paylaşımlar için hayatımıza girmiş bulunmaktaydı. Sanırım bunların adlarını feys, insta, sineep, tivitırr, linkdin sırasıyla tahmin etmişsinizdir. Ama bunların çoğu bozuldu. Bu değişimleri gören chat uygulamaları da bizde biraz kendimizi aşalım dedi ve olanlar oldu...

    Facebook çıldırmış durum da arkadaşlarını arayıp bulma heyecanı yaşatmak yerine zorunlu koştuğu messenger ile chat chat diyerek rotasını değiştiriyordu ki birden siz en iyisi canlı yayın heyecanı yaşayın dedi. Sonra baktı linkedIn  business olma özelliği çok çekici derken snapchat'ın hikaye özelliğini almaya karar verdiğini geçen haftalarda duyurdu.Yani feeyss varken sinep bilemedim olmasa da olur mu ? Snapchat'ın kendine has olan kaybolma özelliği farklı farklı bitmojiler eklemesi ile kendi içinde kendi özelliğini geliştirirken popülerliği aldı başını gitti.  Fakat bunu kıskanan sadece facebook değildi.Diğer uygulamarda hemen bu belirgin özelliği kendi içlerinde kullanmaya başladı. Instagram'da yaygın şekilde kullanılan hikaye özelliği canlı yayın ile kendini bayağı bir geliştirdi. Yani instaaa varken sinep bilemedim olmasa da olur mu ? Aslında hem yazarım arkadaşıma hem de hikaye paylaşırım diyorsanız maalesef bu özellikte artık var.WhatsApp' ta taklit ederek kendini bayağı bir geliştirdi. Snapchat olmasa da olur mu ? Her uygulamanın kendi özelliğine ait yenilik yapması daha iyi olmaz mıydı? Şimdi snapchat'ın değeri düştü ya da linkedIn facebook'ta hepsi mevcut durumda . Düşünsenizse çok harika bir ortamdasınız ee bu ortamı paylaşmak gerekli ama nerede snapchat'te yok yok instagram'da ya da whatsapp'da hepsinde paylaşmak daha iyi sanırım aa ortamdan ben bir tat alamamışım. Amaç bende yaparım bu özelliği meydan okuması değil,her uygulama kullanıcıyı kendine hapsetmeye çalışıyor. Başarılı oluyorda bu sabah whatsapp 'ın yenilenen özelliğini fark eden kullanıcılar " ilk ben " kullanmalıyım niyetiyle atmışta atmış hikayelerini sizi whatsappterlar sizii !! Tüm uygulamalarınızı silin sadece facebook yeter !!  Pardon whatsapp'tan bahsediyorduk kafam biraz karıştıda. Kısacası Tüm  uygulamaları toplayın sonuç snapchat. 

    Elin oğlu ne uygulamalar yapmış derken bu elin oğlu aynı şeyleri yapıp yapıp durur oldu. Bize de her yer snapchat oldu. 

Women Techmarkes

   Gün geçmiyor ki konferanslar olmasın. Yepyeni bir konferansımız var bu kez  İstanbul'da düzenlenen uluslararası kadın bilişimcilerin hikayesini anlatan workshopları olan eğlenceyi en üst seviyede yaşayacağımız bir etkinlik. Women Techmarkes 2017 den bahsettiğimi anlayanlar olmuştur. Daha detaylı bilgileri elbette ki konferansa katıldıktan sonra yazacağım.

    Şimdilik sizlere ne zaman nerede ücret nedir onlardan bahsedeyim. Efendim  konferansımız 19 mart 2017 pazar günü Bahçe şehir üniversitesinde gerçekleşecektir. Ücretsiz olan bu etkinliğe tüm bilişimci bayanlar katılabilir. Konuşmacılarımız elbette ki bayanlardan oluşmakta sanırım sadece bir bay olacak . Konuşmacılar Google dan başlayıp Armut.com a kadar uzanan kişilerden seçilmiş şahane kadro ile karşımıza çıkacak. Bu beni heyecanlandırıyor ...
      

   Sponsorunun Google olduğu etkinliğe  kayıt olmak için son gün 4 mart. Hadi İstanbul'da görüşmek üzere..

    

Bilişimci Bayanlar Ankara'da

     Devextreme konularını hızlı bir şekilde yayınlamak adına çalışmalarım devam etmekte fakat gündemde ki konulardan uzak kalmak olmaz. Bugün sizlerle Ankara'da tüm bilişimcilerin katılacağı konferanstan bahsetmek istiyorum.
   
     BilWiC tarafından ACM Ankara Celebration of Women in Computing adında bilişimde kadın-erkek eşitliğini savunan bir etkinlik düzenliyor. Daha önceden birden fazla ülkede düzenlenen etkinlik ilk defa Türkiye'de düzelenecek. Dünya genelinde varolan kadınlar bu işi yapamaz algısını yıkacağını düşündüğüm bu etkinlikte üst düzey kadın konuşmacılar yer alacak.(ACM-W Avrupa Başkanı Reyyan Ayfer, Microsoft Türkiye Kurumsal İşler Müdürü Aslı Arbel ve Microsoft Türkiye Teknik Hesap Yöneticisi Ayşe Tartan Özocak, Google Kıdemli Analitik Lider Gülşah Yılmaz ile TAV Havalimanları Holding CIO Binnur Güleryüz Onaran) Türkiye'de düzenlenecek olması hevesi kırılmış bilişim öğrencilerine çok iyi gelecek.

      Kimler katılabilir peki sadece ögrenciler değil tabiki bilişim dünyasına ilgi duyan veya doğrudan bu alanla ilgili olan herkes orada olacak.  11 - 12  Mart 2017'de  Microsoft sponsorluğu ile Ankara MEB Şura Salonu’nda düzenlenecek.  2 gün sürecek olan etkinlikte bilet fiyatları 20 tl ve konaklama için de 70 tl alıncaktır. Otel ile konferans salonu arasında ulaşım organizasyon tarafından karşılanacak olmasıda gösteriyor ki herşey düşünülmüş. Detaylı bilgi için tıklayınız. 


Geç Tanışılan Teknoloji

     Yeni bir teknolojiden bahsedeceğim demek isterdim ama eski. Fakat benim gibi sonradan fark edenler için yepyeni şahane bir teknoloji. Mobil yazılıma merakı olan arkadaşlar vardır. Ama ios mu android mı ?  Hangisinde başarıya koşsam diye diye hiçbirinde başarılı olamamak. Tabiki hemen akla hibrit yazılım geliyor. Tek kod ile tüm platformlar.Hibrit yazılım için programlar bulunmakta fakat benim için hibrit yazılımın adresi DEVEXTREME. Devextreme ,Devexpress şirketinin sunduğu bir platformdur. DevExtreme  web sayfası geliştirirmiş gibi işlem yapıyoruz. Devextreme için bilmeniz gerekenler jquery ,css, html5 ve phonegap. Birde takıldığınızda hemen bakabileceğiniz bir blog :)  Hadi başlayalım.

Herkese Selamlar


Herkese selamlar,


Bilgisayarım da vakit geçirmeyi çok seviyorum . Bu yüzden yeni yeni fikirler bulup hemen koda döküyorum . Bu iş her zaman beni heyecanlandırıyor.

Bir yıla yakın süredir bilgisayar mühendisliği bölümünde mezunum. Mezun olur olmaz iş buldum. O kadar şanslıyımdır. Fakat geçenlerde işten ayrılmak zorunda kaldım. Her neyse. artık freelance çalışıyorum. :)

Öğrenmeyi ve öğretmeyi severim bu yüzden blog açmaya karar verdim.

Open source candır !

Yazılım dili olarak Jquery-Javascript kullanıyorum. Mobil Uygulamalar için Hybrid olarak geliştirmeler yapıyorum. Hybrid diyince akla sadece PHONEGAP/CORDOVA gelmeli - kafayı fena taktım hybrid uygulamalara-.

Mobil uygulamaya (İOS-ANDROİD) ihtiyaçınız olursa satirarasicode@gmail.com adresine mail atmanız yeterli.


Ücretsiz PHP Eğitimi Bölüm 2 : Ders 1: Değişkenler

Merhaba Arkadaşlar,     Bugün sizlerle bölüm 2 ye geçiyoruz. Bu dersimizde Php 'nin temellerini öğreneceğiz. Takıldığınız noktalarda sor...

En Çok Okunanlar