9 Mayıs 2016 Pazartesi

Cordova Mobil Uygulama Tespiti

Cordova web tabanlı mobil uygulama geliştirmek için kullanılan bir framework. Bu framework ile mobil web sayfanızı mobil uygulama haline getirebilirsiniz. Önemli avantajı bir çok platfromu (başlıca android, ios, windows phone) destekliyor olması.

Zaman zaman sayfamız ile mobil uygulama arasında farklı çalışmasını isteyeceğimiz rutinler olabiliyor. Bunun için uygulamamın web tarayıcıda mı yoksa mobil app üzerinde mi çalıştığını tespit etmemiz gerekiyor.

Bunun için cordova frameworkünü tespit etmemiz yeterli olacaktır. Kısaca eğer cordova framework tanımlı ise mobil app değil ise web tarayıcıdayız demektir.

Cordova Framework tespit için yöntemler
1- window.cordova


var isMobilApp = !window.cordova;
cordova framework yüklendiğinde window altında cordova nesnesi oluşacaktır. Bu nesne var ise mobil uygulamadayız demektir.

2- Url kontrolü


var isMobilApp = document.URL.indexOf('http://') === -1
  && document.URL.indexOf('https://') === -1;
Cordovada döküman urli file:// ile başlamaktadır. Web tarayıcıda ise http yada https olacaktır. Doğal olarak document.URL http yada https ile başlamıyorsa mobil uygulama içindeyiz demektir.

3- cordova.js yüklendi mi?



<script src="cordova.js" onload="javascript:window.isMobilApp = true;"></script>
index.html içinde cordova.js yüklendiği script tagi içine onload ekleyerek. Mobil olup olmadığı tespit edilebilir.

Birinci ve üçüncü yöntemler cordova frameworkü tam olarak yüklendi ise işleyecektir. İkinci yöntem ise framework yüklenmeden de mobil uygulamada olup olmadığımızı öğrenebiliriz.

Eğer bir plugin işletilmesi için tespit yapıyorsak birinci (yada üçüncü) yöntemi, görsel bir farklılık oluşturmak istiyorsak ikinci yöntemi tavsiye ederim.
















2 Mayıs 2016 Pazartesi

Faydalı Chrome Uzantıları (Plugins)

Chrome çıktığı dönemden beri hızla kullanıcı sayısını çok hızlı arttırarak en çok kullanılan tarayıcı oldu. Chrome web tarayıcı olarak çok kullanılıyor ama bunun dışında çok faydalı araçlarla bir çok değişik amaçla kullanımı mevcut. Bunun için plugins/uzantılar kullanılmakta. Türkçeye uzantılar olarak çevirmişler bende aynı şekilde kullanacağım. Her nevi uzantıya Chrome Web Marketteki uzantılar bölümünden ulaşmak mümkün. link

Kullandığım ve faydalı olduğunu düşündüğüm chrome uzantılarını burada yazmak istiyorum.

1- Chrome Uzaktan Masaüstü

Chrome uzaktan masaüstü uzantısı ile bilgisayarınıza uzaktan chrome üzerinden bağlanarak kontrol edebilirsiniz. Teamviewer yada Ammyy gibi yazılımlarla yapabildiğiniz işlemleri ücretsiz olan bu uzantı ile yapabilirsiniz. Uzantı chrome çalışan sistemlerin çoğunda sorunsuz çalışıyor. Ben MacOS ve Windows üzerinde sorunsuz kullandım.
Uzantıyı bu linkten yükleyebilirsiniz.

 


2- Çevirici

Web sayfalarında dolaşırken farklı lisanlarda metinlerle karşılaşıyoruz. Bazen bilmediğimiz bir kelime yada cümle hatta paragrafı hızlı bir şekilde çevirmek önemli oluyor. Konudan kopmadan okumaya devam edebiliyorsunuz. Bunun için ideal araç google çevirici uzantısı. Bu uzantı ile seçtiğiniz bir kelime yada cümle hızlı bir şekilde çevrilebiliyor.


Google çeviriciyi bu linkten yükleyebilirsiniz.

3- Pocket

Web sayfasını o an okumak istemiyorsunuz ve müsait olduğunuzda offline iken mobil cihazınızdan okumak istiyorsunuz. Yada okuduğunuz bir metni daha sonra offline olsanız dahi ulaşmak istiyorsunuz. Bunun için en iyi çözüm Pocket. Chrome uzantısı ile sayfaları kaydederek mobil uygulaması ile okumanız mümkün.
Uzantıyı bu adresten yükleyebilirsiniz.





4- Keynotes

Eskiden sayfalardan küçük notlar alıp genellikle metin dosyası olarak bir yerlere kaydederdim. Daha sonra bu özetlenmiş değişik sayfalardan toplanmış notları bulmakta zorlanırdım. Bunun için iyi bir çözüm keynotes uzantısı. Bu uzantıya başlık ve kategori vererek bir takım notları kaydedilebiliyor. Daha sonra istendiğinde kategorilerden yada arama bölümünden hızlıca erişim sağlanabiliyor.
Bu adresten yükleyebilirsiniz.



5- Keepass

Ben Keepass uygulaması ile uzun süredir değişik sitelerde üye olduğum kullanıcı bilgilerini tutmaktaydım. Bu uzantı ile uygulama yüklemeden keepassdeki kullanıcı bilgilerime hızlı şekilde ulaşmam mümkün oluyor. Aslında öncelikle neden şifreler için bir uygulama ihtiyacı var açıklamak lazım. Bir çok siteye üye olmak istiyorsunuz her sitede farklı kullanıcı adınız olabiliyor ayrıca üye olduğunuz her siteye aynı şifreleri yazmanız güvenlik açısından sorun oluşturur. Üye olurken yazdığınız şifre ile karşı tarafın sizin başka (örneğin facebook) hesaplarınızıda deneyerek erişmesi mümkün olabilir. Her üyelikte farklı farklı şifreler kullandığınızda bu bilgilerinizin güvenli olması gerekir.
Keepasste tüm üyelik şifre bilgilerinizden kriptolu bir dosya oluşturuyor ve bu dosyaya tekbir şifre ile (master password) erişerek diğer tüm şifrelerinizi görebiliyorsunuz.

Ben oluşan veri dosyasınıda google drive üzerine kaydettiğimden hem mobil hem masaüstü her ortamdan erişme imkanına sahip olabiliyorum.



Keepass uygulamasını bu linkten  chrome uzantısınıda bu linkten yükleyebilirsiniz. Uzantıyı kullanmak için uygulama yüklemeye ihtiyacınız yok. İncelemek isterseniz diye onuda ekledim.

6- Döviz Kurları

Arada sırada gezintinizi bölmeden anlık döviz kurlarını merak ediyorsanız ideal bir araç. Bu araç ile chrome uzantılar bölümündeki linkine tıklayarak TCMB yada çeşitli bankaların kur bilgileri hızlıca öğrenilebiliyor.

Uzantıyı bu adresten yükleyebilirsiniz.


7- Canlı Skor

Benim gibi futbolu takip etmek istiyorsanız güzel bir uzantı Canlı Skor. Bu uzantı ile o gün yapılacak maçlar listeleniyor. Maç oynanırken son durumunu ve maçla ilgili bilgilere chrome üzerinden ulaşılabiliyor.

Yüklemek için bu adrese tıklayın.




Bu uzantılar dışında bir çok uzantı daha kullandım ama en sık kullandıklarım bunlar. İleride beğendiğim chrome uzantısı oldukça ekleyeceğim.









4 Nisan 2011 Pazartesi

JQuery ile Nesnenin Görünürlüğünü Bulma

JQuery ile bir nesnenin ekranda görünüp görünmediğini tesbit etmek için

 
var isVisible = $('#myDiv').is(':visible');
 kullanabiliriliz. Benzer şekilde görünmediği tesbit etmek istiyorsak
 
var isHidden = $('#myDiv').is(':hidden');

kullanabiliriz.

1 Nisan 2011 Cuma

Google 1 Nisan Şakası

Google 1 Nisanda yine boş geçmedi ve güzel bir 1 nisan şakası yaptı. Şaka sitenin İngilizce sürümünde yayınlanıyor. Öncelikle Google arama alanına arayacağınız kelimeyi yazmaya başlıyorsunuz. Ben test yazdım mesela. Google birkaç saniye içinde otomatik tamamlama penceresini çıkarıyor ve alternatif kelimeleri veriyor.

1 Nisan şakasıda burda başlıyor. Bu listenin sonunda We are hiring Autocompleters yazıyor. Türkçe anlamı Otomatik tamamlayıcılar -personel- işe alınacaktır demek oluyor. Bu linke (linkde burda) tıkladığınızda ciddi ciddi bir işin tanımı hakkında bilgiler geliyor. Sanki otomatik tamamlayıcı insanlar var eleman aranıyor tarzında bir yazı. Yazının sonunda başvuru durumunu görmek için ayrı bir link verilmiş (o linkde burda) tıkladığınızda google 1 nisan şakası olduğunu anlıyorsunuz.  Güzel olmuş. :)))

Mobil Web Uygulamalarında Adres Çubuğunu Gizlemek

Hem iOs, hem de Android işletim sistemi kullanılan cihazlar Webkit altyapısını kullanırlar. Webkit kullanmaları mobil ortamda bazı avantajlar sağlar,
  • Webkit sayfa üreteci hızlıdır
  • CSS tanımı geniştir
Bu avantajlar mobil ortamda web uygulamaların cihaz üzerinde çalışanlar (Native) gibi fonksiyonel olmasını sağlar.


Adres çubuğunu kapatmak zaten dar olan bir ekranda 60 piksel yükseklikten kazandıracaktır. Bunun için aşağıdaki kodu javascript dosyanıza (yada html üzeride script tag içinde) eklemelisiniz.

// When ready...
window.addEventListener("load",function() {
 // Set a timeout...
 setTimeout(function(){
  // Hide the address bar!
  window.scrollTo(0, 1);
 }, 0);
});
 
 
 
 

25 Mart 2011 Cuma

Wow6432Node


64 bitlik Windows 2003 yada 2008 sunucunuzda 32 bit derlediğiniz yazılımlarınızın register kayıtlarını okumada problem yaşayabilirsiniz. Bunun nedeni 64 bitlik sistem 32 bitlik erişim için Wow6432Node adında bir anahtar açar ve 32 bitlik yazılımlar verilen anahtara değil Wow6432Node altındaki anahtara erişirler.
Örneğin HKEY_CURRENT_USER\SOFTWARE\Classes anahtarını açtınız. Yazılımınız 32 bitlik ise SOFTWARE altında Wow6432 altındaki Classes bölümünü açmış olursunuz. Bunu engellemek gerçek olanını açabilmek için RegOpenKeyExdeki erişim parametresine WOW64_64Key (0x0100) eklemek gereklidir.
C++ için register erişimi alttaki gibi yapılmalıdır.


  LONG nRet = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE,
            L"SOFTWARE\\Classes",
            0,
            KEY_READ | KEY_WOW64_64KEY, // For 32 bit exe running on 64 bit windows
            &hKey);
 Aynı işlemi Delphi dilinde gerçekleştirmek için.

var r:TRegistry;
begin
  r:=TRegistry.Create;
  try
    r.RootKey:=HKEY_LOCAL_MACHINE;
    r.Access:=r.Access + 256;  //64 bitlik windows erişimi için 256 ekleniyor
    r.OpenKey('SOFTWARE\Classes',True);
    result:=r.ReadString('TestKey');
    r.CloseKey;
  finally
  r.free;
  end;
end;
Aslında yazılım kendi bir takım register anahtarları açıp okuyor ise problem oluşmuyor. Ancak hem .NET yazılımınız hemde diğer 32bitlik yazılımınız. Register kayıtlarına erişmesi gerektiği durumlarda bu problem ortaya çıkıyor.

JQuery UI'de Yeni Tema: Aristo

JQuery UI kullanıyorsanız yeni bir tema. İsmi Aristo. Yukarıdaki resimde tema hakkında fikir edinebilirsiniz. Demosunu görmek ve indirmek için bu adresi kullanabilirsiniz.