Pazar, Aralık 15, 2013

XCode Bölüm 02 – Sınıflar ve Temel Yapılar

Merhaba,

Bir önceki yazımızda (XCode Bölüm 01) iOS platformunda uygulama geliştirebilmek için kullanılan XCode IDE ‘sine nasıl erişebileceğimizi ve platformun görsel olarak nasıl bir görüntüye sahip olduğunu, projeyi ve emulatörü nasıl çalıştırabileceğimize göz gezdirmiştik.

Bu yazımızda ise pratikte iOS programlanın sınıf dosyalarına ve mimari yapısına göz atıyor olacağız. Yeniden bir proje oluşturmuyor ve bir önceki örneğimizdeki Boş demo projesinden devam ediyorum.
Öncelikle proje içerisinde yer alan sınıf dosyalarının isimlerine göz atalım.

Sınıf Dosyaları (Class Files)

Boş demo projesini oluşturduktan / açtıktan sonra sol bölümde proje dosyalarını görebiliyoruz. (Visual Studio kullanan arkadaşlar var ise Solution Explorer bölümünün görevini yapmaktadır.)

Blogpost1

AppDelegate.h
AppDelegate.m

ViewController.h
ViewController.m

Main.StoryBoard
    Main_iPhone.StoryBoard
    Main_iPad.Storyboard

Şimdi dosyalara göz attığımız da; AppDelegate sınıflarında uygulama seviyesindeki (Application Level) konmutları ekleyebilir ve kullanabiliriz. Bu sınıflar iOS uygulamalarını temsil eder.

AppDelegete sınıfının .m ve .h dosyalarından oluştuğunu göreceğiz. Bu dosyalar C++ kullananlar var ise hatırlayacağınız üzere .h dosyalarında Header file ‘ları (referanslar gibi düşünebilirsiniz) çağırır. .m ise implementasyon (implementation) dosyalarını çağırır.

ViewController adından da anlaşılacağı üzere form üzerinde yer alan objelerin bulunduğu dosyalardır.

Bir de görsel olarak grafikle göstermek gerekirse alt kısımdaki gibi olacaktır.

your_xcode_project_app_flow

Peki AppDelegate ve ViewController dan bahsettik. Ancak Main.Storyboard dosyalarından bahsetmedik. Bu nedir?

StoryBoard

ViewController sınıflarından yararlanan ve görsel objelerimizin bulunduğu bölümdür. Uygulamanın görsel görünümü ile ilgili olarak nesneleri ekleyebileceğimiz, sonuçlarını görebileceğimiz bölümdür.

Main.StoryBoard, ViewController sınıfları ile yönetilebilir kodların kullanılması mümkündür.

Main.StoryBoard, XCode IDE‘sin de InterfaceBuilder alanında yer almaktadır. ViewController.h sınıfı ile referans dosyalarını ve hazırladığımız metodları kullanabilriz.

 

BlogpostPic03 

Görsel olarak görmek gerekirse alt kısımda yer aldığı şekilde olacaktır.
Form üzerine ekleyebileceğimiz kontroller ise IDE ‘nin sağ alt kısmında yer almaktaıdr. Sürükleyip bırakmanız yeterlidir. Form üzerine kontrolleri eklerken hizamaları konusunda IDE yardımcı olmaktadır.

BlogPostPic04

Peki, bu sınıflar birbirleri ile nasıl ilişkili diye aklımıza bir soru takılıyor. Bunu da alt kısımda yer alan basit akış şeması cevaplamaktadır.

your_xcode_project_classes

Şimdi bu kadar konuyu incelediğimizde kafamıza çok geleneksel ama bir o kadar da önemli bir soru takılıyor. Bu uygulamanın objeleri canlı ortamda nasıl çalışıyor.

Uygulamalarınız canlı ortamda diğer bir çok uygulamalar gibi bellek üzerinde oluşmaktadır. Uygulamanın hata vermesi durumunda bellekte kullanmış olduğu alanı serbest bırakmaktadır. Eğer multi tasking bir uygulama geliştiriyor iseniz ise uygulama arka planda bellek kullanmaya devam etmektedir. Ancak farklı uygulamalar ile bu belleği paylaşabilmektedir. (Güzel bir teknoloji :) )

Daha önceden uygulama geliştiriciler eklemiş oldukları referansları ve kullanmış oldukları bellekleri boşaltmak / serbest bırakmaları gerekmekteydi. Daha şu anda güncel kullandığımız IDE lerde otomatik olarak referansları sayıyor ve gerekli temizlik işlemlerini sağlıyor. Sadece projeyi oluştururken Automatic Reference Counting seçeneğinin seçilmiş olması gerekiyor.

Yazımızın burada sonuna geliyoruz. Objective C ‘inin gelişimini ve bunu başımıza kimler sarmış diye merak edenler için wikipedia da yer alan yazıyı okuyabilirsiniz. (Yazının dili Türkçe dir)

http://tr.wikipedia.org/wiki/Objective-C
Umarım yararlı olabilmiştir.

--

TT

C/C++ & Objective C – Yazımsal Benzerlikler

Merhaba,

Objective C ‘ye merak salmış bir çok kimse C ile arasındaki farkları merak etmiş ve incelemiştir. C ya da C++ tecrübesi olan kişiler ise aradaki basit farkları görmüştür.

En temel anlamda yazımsal farklılıklara alt kısımda yer alan görüntü ile sizde mükayese edebilirsiniz.

Ekran Resmi 2013-02-11 01.17.24

Aslında çok benziyor değil mi? :)

İyi günler dilerim.

--

TT

Çarşamba, Aralık 11, 2013

Visual Studio 2013 – Tema Değişikliği (Color Theme)

Merhaba,

 

Visual Studio 2010 sonrasında çıkan editörleri inceleme ve kullanma şansım olmamıştı. Son bir kaç haftadır Visual Studio 2013 ile geliştirmeler yapıyordum. Çok hoşuma giden bir özelliğini sizler ile de paylaşmak istedim.

 

Uygulama geliştirirken, özellikle de dos ortamında uygulama geliştirmiş ya da 6-8 ay da olsa üniversite de ders almış arkadaşların Siyah arka plana bir vaafı vardır. Bunu gören Microsoft ‘ta bizlere güze temalar çıkartmış. Visual Studio arayüzünü ve kod geliştirme ekranında renksel değişikliklere olanak tanıyor.

 

Bu güzel özelliklerden bir kaç ekran görüntüsü alt kısımda yer aldığı şekildedir.

 

image

 

image

 

Kolay gelsin.

--

TT

Microsoft .Net Framework 4.0 & 4.5 – Full Download

Merhaba,

 

.Net ile yazılım geliştiricilerin özelliklede Framework 4.x ile geliştirenlerin başlıca sorunu kurulum dosyası hazırladıklarında .Net Framework ‘ü kurmak için internete bağlanmalarıdır. Çünkü kurulum dosyaları 2-3 MB arasıdır. Yavaş internet kullanıcılarında ve kurumsal şirketlerde projelerin çok ama çok geç kurulmasına sebep olmaktadır. Bu sebepten ötürü sizlere .Net 4.x Framework ‘lerin tam kurulabilir paketlerinin linklerini sizlere sunuyorum. Umarım yararlı olur.

 

.Net Framework 4.0

.Net Framework 4.5

 

Umarım yararlı olur.

--

TT

Sharepoint – Lokalizasyon (LCID) Kodları

Merhaba,

 

Geçen günlerde ilgilendiğim bir proje ile ilgili Localizasyon kodlarına gereksinim oldu. Elimin altında olması ve gerekirse sizlere de kolaylık sağlayabilmesi amacıyla alt kısımda bu listeyi paylaşıyorum.

 

Listenin alındığı orjinal adres: http://msdn.microsoft.com/en-us/goglobal/bb964664 şeklindedir.

Language - Country/Region LCID Hex LCID Dec
Afrikaans - South Africa 0436 1078
Albanian - Albania 041c 1052
Alsatian 0484 1156
Amharic - Ethiopia 045e 1118
Arabic - Saudi Arabia 0401 1025
Arabic - Algeria 1401 5121
Arabic - Bahrain 3c01 15361
Arabic - Egypt 0c01 3073
Arabic - Iraq 0801 2049
Arabic - Jordan 2c01 11265
Arabic - Kuwait 3401 13313
Arabic - Lebanon 3001 12289
Arabic - Libya 1001 4097
Arabic - Morocco 1801 6145
Arabic - Oman 2001 8193
Arabic - Qatar 4001 16385
Arabic - Syria 2801 10241
Arabic - Tunisia 1c01 7169
Arabic - U.A.E. 3801 14337
Arabic - Yemen 2401 9217
Armenian - Armenia 042b 1067
Assamese 044d 1101
Azeri (Cyrillic) 082c 2092
Azeri (Latin) 042c 1068
Bashkir 046d 1133
Basque 042d 1069
Belarusian 0423 1059
Bengali (India) 0445 1093
Bengali (Bangladesh) 0845 2117
Bosnian (Bosnia/Herzegovina) 141A 5146
Breton 047e 1150
Bulgarian 0402 1026
Burmese 0455 1109
Catalan 0403 1027
Cherokee - United States 045c 1116
Chinese - People's Republic of China 0804 2052
Chinese - Singapore 1004 4100
Chinese - Taiwan 0404 1028
Chinese - Hong Kong SAR 0c04 3076
Chinese - Macao SAR 1404 5124
Corsican 0483 1155
Croatian 041a 1050
Croatian (Bosnia/Herzegovina) 101a 4122
Czech 0405 1029
Danish 0406 1030
Dari 048c 1164
Divehi 0465 1125
Dutch - Netherlands 0413 1043
Dutch - Belgium 0813 2067
Edo 0466 1126
English - United States 0409 1033
English - United Kingdom 0809 2057
English - Australia 0c09 3081
English - Belize 2809 10249
English - Canada 1009 4105
English - Caribbean 2409 9225
English - Hong Kong SAR 3c09 15369
English - India 4009 16393
English - Indonesia 3809 14345
English - Ireland 1809 6153
English - Jamaica 2009 8201
English - Malaysia 4409 17417
English - New Zealand 1409 5129
English - Philippines 3409 13321
English - Singapore 4809 18441
English - South Africa 1c09 7177
English - Trinidad 2c09 11273
English - Zimbabwe 3009 12297
Estonian 0425 1061
Faroese 0438 1080
Farsi 0429 1065
Filipino 0464 1124
Finnish 040b 1035
French - France 040c 1036
French - Belgium 080c 2060
French - Cameroon 2c0c 11276
French - Canada 0c0c 3084
French - Democratic Rep. of Congo 240c 9228
French - Cote d'Ivoire 300c 12300
French - Haiti 3c0c 15372
French - Luxembourg 140c 5132
French - Mali 340c 13324
French - Monaco 180c 6156
French - Morocco 380c 14348
French - North Africa e40c 58380
French - Reunion 200c 8204
French - Senegal 280c 10252
French - Switzerland 100c 4108
French - West Indies 1c0c 7180
Frisian - Netherlands 0462 1122
Fulfulde - Nigeria 0467 1127
Galician 0456 1110
Georgian 0437 1079
German - Germany 0407 1031
German - Austria 0c07 3079
German - Liechtenstein 1407 5127
German - Luxembourg 1007 4103
German - Switzerland 0807 2055
Greek 0408 1032
Greenlandic 046f 1135
Guarani - Paraguay 0474 1140
Gujarati 0447 1095
Hausa - Nigeria 0468 1128
Hawaiian - United States 0475 1141
Hebrew 040d 1037
Hindi 0439 1081
Hungarian 040e 1038
Ibibio - Nigeria 0469 1129
Icelandic 040f 1039
Igbo - Nigeria 0470 1136
Indonesian 0421 1057
Inuktitut 045d 1117
Irish 083c 2108
Italian - Italy 0410 1040
Italian - Switzerland 0810 2064
Japanese 0411 1041
K'iche 0486 1158
Kannada 044b 1099
Kanuri - Nigeria 0471 1137
Kashmiri 0860 2144
Kashmiri (Arabic) 0460 1120
Kazakh 043f 1087
Khmer 0453 1107
Kinyarwanda 0487 1159
Konkani 0457 1111
Korean 0412 1042
Kyrgyz (Cyrillic) 0440 1088
Lao 0454 1108
Latin 0476 1142
Latvian 0426 1062
Lithuanian 0427 1063
Luxembourgish 046e 1134
Macedonian 042f 1071
Malay - Malaysia 043e 1086
Malay - Brunei Darussalam 083e 2110
Malayalam 044c 1100
Maltese 043a 1082
Manipuri 0458 1112
Maori - New Zealand 0481 1153
Mapudungun 0471 1146
Marathi 044e 1102
Mohawk 047c 1148
Mongolian (Cyrillic) 0450 1104
Mongolian (Mongolian) 0850 2128
Nepali 0461 1121
Nepali - India 0861 2145
Norwegian (Bokmål) 0414 1044
Norwegian (Nynorsk) 0814 2068
Occitan 0482 1154
Oriya 0448 1096
Oromo 0472 1138
Papiamentu 0479 1145
Pashto 0463 1123
Polish 0415 1045
Portuguese - Brazil 0416 1046
Portuguese - Portugal 0816 2070
Punjabi 0446 1094
Punjabi (Pakistan) 0846 2118
Quecha - Bolivia 046B 1131
Quecha - Ecuador 086B 2155
Quecha - Peru 0C6B 3179
Rhaeto-Romanic 0417 1047
Romanian 0418 1048
Romanian - Moldava 0818 2072
Russian 0419 1049
Russian - Moldava 0819 2073
Sami (Lappish) 043b 1083
Sanskrit 044f 1103
Scottish Gaelic 043c 1084
Sepedi 046c 1132
Serbian (Cyrillic) 0c1a 3098
Serbian (Latin) 081a 2074
Sindhi - India 0459 1113
Sindhi - Pakistan 0859 2137
Sinhalese - Sri Lanka 045b 1115
Slovak 041b 1051
Slovenian 0424 1060
Somali 0477 1143
Sorbian 042e 1070
Spanish - Spain (Modern Sort) 0c0a 3082
Spanish - Spain (Traditional Sort) 040a 1034
Spanish - Argentina 2c0a 11274
Spanish - Bolivia 400a 16394
Spanish - Chile 340a 13322
Spanish - Colombia 240a 9226
Spanish - Costa Rica 140a 5130
Spanish - Dominican Republic 1c0a 7178
Spanish - Ecuador 300a 12298
Spanish - El Salvador 440a 17418
Spanish - Guatemala 100a 4106
Spanish - Honduras 480a 18442
Spanish - Latin America 580a 22538
Spanish - Mexico 080a 2058
Spanish - Nicaragua 4c0a 19466
Spanish - Panama 180a 6154
Spanish - Paraguay 3c0a 15370
Spanish - Peru 280a 10250
Spanish - Puerto Rico 500a 20490
Spanish - United States 540a 21514
Spanish - Uruguay 380a 14346
Spanish - Venezuela 200a 8202
Sutu 0430 1072
Swahili 0441 1089
Swedish 041d 1053
Swedish - Finland 081d 2077
Syriac 045a 1114
Tajik 0428 1064
Tamazight (Arabic) 045f 1119
Tamazight (Latin) 085f 2143
Tamil 0449 1097
Tatar 0444 1092
Telugu 044a 1098
Thai 041e 1054
Tibetan - Bhutan 0851 2129
Tibetan - People's Republic of China 0451 1105
Tigrigna - Eritrea 0873 2163
Tigrigna - Ethiopia 0473 1139
Tsonga 0431 1073
Tswana 0432 1074
Turkish 041f 1055
Turkmen 0442 1090
Uighur - China 0480 1152
Ukrainian 0422 1058
Urdu 0420 1056
Urdu - India 0820 2080
Uzbek (Cyrillic) 0843 2115
Uzbek (Latin) 0443 1091
Venda 0433 1075
Vietnamese 042a 1066
Welsh 0452 1106
Wolof 0488 1160
Xhosa 0434 1076
Yakut 0485 1157
Yi 0478 1144
Yiddish 043d 1085
Yoruba 046a 1130
Zulu 0435 1077
HID (Human Interface Device) 04ff 1279

Kolay gelsin.

--

TT

Pazar, Aralık 08, 2013

XCode Bölüm 01 – İlk Proje

Merhabalar,

 

Önemli Not: XCode öğreniyorum serisinin bu yazısı XCode 5 sürümü ile hazırlanmıştır.

Teknoloji gelişimlerini göz önüne aldığımızda mobil platformlar için geliştirilen uygulamaları dikkate almak gerekmektedir.

Mobile uygulama dediğimizde ise en çok kullanılam platform olarak iOS en plana çıkmaktadır. Bu yazımızda ve ilişkisel diğer yazılarımızda iOS için geliştirme platformu olan XCode ve Objective-C ‘i incelemeye çalışıyor olacağız.

Öncelikle uygulama geliştirebilmek için ihtiyacımız olanlara göz atıyor olalım.

En başta uygulamanın geliştirilebilmesi için MacOS işletim sistemine sahip olan bir bilgisayar ya da Virtual PC üzerinde bu işletim sisteminin kurulmuş olan bir işletim sistemi gerekmektedir.

Örnekleri geliştirecek ve deneyeceğimiz bilgisayar MacBook Pro 15¨ Late 2013 modelidir.

Eğer ki bir bilgisayara ulaşmak isterseniz; http://store.apple.com/tr/buy-mac/macbook-pro adresinde erişebilirsiniz.

Ürünlerin fiyatları eğer ki yüksek geldi ise ikinci el bir ürüne de (örn. mac mini) sahip olabilmeniz bütçesel açıdan da uygun olacaktır.

Geliştirmiş olduğunuz uygulamaları AppleStore ‘a ekleyebilmeniz için Developer Lisansa ihtiyacımız bulunmaktadır. https://developer.apple.com/programs/ios/ adresinden 99 dolar karşılığında lisansa erişebilirsiniz. (Safari için uygulama geliştirmek isterseniz developer lisansa ücretsiz edinebilme olanağımız vardır.

Farklı iki terim XCode ve Objective-C

Uygulama geliştirme yaptığım süre zarfında yaklaşık %95 oranında Visual Studio üzerinde uygulama geliştirmiş kalan kısmında ise Eclipse ile ilgilenmiş biri olarak ve yüksek ihtimalle bu blogu takip eden arkadaşlarımın/meslektaşlarımında yüksek ihtimallerle benzer platformalarda uygulama geliştirdiğimizi düşünüyorum.

Bu gerçeği göz önüne aldığımızda ise XCode geliştirme ortamı çok ama çok farklı gelecektir. Objective-C ise nispeten C/C++ ile uygulama geliştirmiş olan kişiler için daha basit ve tanıdık gelecektir.

XCode ‘i Tanıyalım

Öncelikle değinmek istediğim nokta XCode ücretsiz olarak sunulmaktadır. :)

Uygulamayı kurabilmek için MacOs işletim sistemi üzerinde yer alan AppStore uygulamasını çalıştırdılktan sonra ister en çok indirilen ücretsiz uygulamalar listesinden, isterseniz de aratarak kurulum ekranına erişebilirsiniz.

App_Store 

Yeni Proje Oluşturuyoruz

Yeni bir proje oluşturabilmek için öncelikle XCode uygulamasını çalıştırıyoruz.

pic_01 

Yeni proje oluştur dedikten sonra iOS proje şablonunu seçiyoruz.

pic_02 

Single View Application proje şablonunu seçiyoruz.

Not: Proje şablonları ile yapabileceklerimizi diğer yazılarımızda detaylı açıklıyor olacağım.

pic_03 

Proje adını girdikten sonraki adım da ilk XCode projemizi oluşturmuş bulunuyoruz. Şimdi iOS emulatörü çalıştırabilme kısmına geldik.

Editör ile hem iPhone 3.5 inch, iPhone 4 inch & Retina ekran hem de iPad için emulatörlerde projelerinizi çalıştırabilmeniz mümkündür.

pic_04

Çıkan sonucu görebilmek için çalıştır düşmesine basarak sonucu görebiliyoruz. Tabii ki boş bir emülatör :)

pic_05 

Telefonun bütün özelliklerine sahip bir emülatör ile karşılaşıyoruz. Bilgisayarınızın modeline göre çalışma performansı ile sorunlar yaşayabilirsiniz. Benim yaklaşık 4 senelik MacBookPro mda emülatör ‘ün çalışıp kendisini toplarması 5 saniye civarında sürüyordu. Yeni model bir pc ile saliseler içerisinde çalışmasını sağlayabilirsiniz.

Bu sayede XCode ile ilk projemizi oluşturmuş oluyoruz.

Bir sonraki yazımızda temel olarak sınıf yapısına değiniyor olacağız.

İyi günler dilerim.

--

TT

Salı, Kasım 19, 2013

Mobil Uygulama Geliştirme - Sistem Nasıl Çalışıyor

Merhaba,

Mobil uygulama geliştirme ile ilgili detaylı bilgileri daha sonra anlatıyor olacağız. Ancak bütün yazılım ya da sistemsel projelerde akla gelen bir soru var. Bu sistem nasıl çalışıyor. Mimari anlamında değilde müşteri kanadın iş sürecine göz atıyor olacağız.

Madde madde özetlemek gerekirse;

1. Proje kapsamı ve modüller belirlenir.
2. Gerekli olan içerik müşterilerden alınır.
3. Müşterilerin ve son kullanıcıların doğrultusunda tasarımlar hazırlanır.
4. Tasarımlar ve içerik uygun ise kodlamaya geçilir.
5. Planlanan modüller tamamlandıktan sonra test sürümü ortaya çıkar. Müşteri onayına sunulur.
6. Uygulama testler sonucunda son düzenlemeleri yapılır ve son onay alınır.
7. Uygulama ilgili teknolojilerin marketlerine sunulur.
olacaktır.

Aslında standart bir uygulama geliştirme ve iş süreci prosedürü olarakta görebiliriz.

En çok akla takılan sorulardan birisi de hangi teknoloji ile yapmalı. Ya da her platform için ayrı ayrı yapmalımıyız oluyor. 

Bu doğrultuda gözlemlemiş olduğum tecrübelerde genellikle HTML 5 ve CSS 3.0 kullanıldığı ve ilerlendiğidir. (Geliştirmekte olduğumuz projelerde bizde böyle yapmaya çalışıyoruz)

Teknik detaylara daha sonraki yazılarımızda değiniyor olacağız.

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

Geçmişten Günümüze - Farkındalık (Paylaşımsızlık)

Uzun bir aradan sonra tekrardan herkese merhabalar,

Eskiden insanlar iş yaşamlarına daha yoğun bir şekilde odaklandıklarında neden paylaşımı bırakırlar ya da bu amaçtan neden vazgeçerler diye kendi kendime sorar dururdum.

Son 3 yıllık süre zarfında da istemeyerekte olsa sebebini bende anlamış oldum.

Sadece üşengeçlik ve yaşın ilerlemesinden kaynaklı olarak içindeki enerjiyi yakalayamamak. :)

Yoğun daha doğrus boş zamanları dolduran gereksiz işler, geçmişte kalıcı ve sistemsel çözüm arayışlarının yerini kendini dinlendirebilmek çok basit, sistemsel olarak çok daha kolay yapılabilecek bir işlemi yıllarca ezbere yapma çalışmalarını görebiliriz.

Bu süreç zarfından en azından biraz kilo almam birazda sirkinmemden kaynaklı olarak farkındalığımı uyandırarak tekrardan paylaşımlarıma özen göstermeye çalışacağım.

Uzun süredir sadece e-mail yazmam sebebiyle yazım dilim kötüleşmiş olacaktır. Zamanla düzeleceğine inanıyorum.

Kendi araştırmalarım ve gelişmelerim doğrultusunda bu konuları daha detaylı olarak paylaşmaya çalışacağım.

Şu anda yürütmüş olduğum mesleğim gereği, Call Center santral sistemleri ve teknoloji yönetimini, proje yönetimini, ilişki yönetimini, sistem analizliğini, farkındalığı ve sürdürebilirliğe değiniyor olacağım.

Bu konuların dışında eski ve yeni teknolojilere yine değinmeye çalışırken, artık uzağında kaldığımı düşündüğüm mobil uygulama geliştirme konusuna sıkça değiniyor. Cloud ve diğer uygulamalara da gücüm yettikçe göz atıyor olacağız.

Motivasyonumuzu kaybetmeden devam edebilmemiz dileklerimle.

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

Pazartesi, Mart 25, 2013

Quixey

Mobil uygulamaların günümüzde çığ gibi arttığı bir ortamda tek tek tespit etmek oldukça zorlaşıyor. Bu konuyu gözardı etmeyip bizlere çok güzel bir arama motoru sunulmuş.

www.quixey.com adresi üzerinden uygulamaya erişebilir ve istediğimiz mobil uygulamayı smartPhone, android pc ya da Mac PC ‘nize kurabilir ve kullanabilirsiniz.

 

Quixey

Cumartesi, Mart 23, 2013

Teknoloji Seçimi - Kurumsal Projeler (SAP, Microsoft, vd…)

Merhaba,

 

Bir önceki yazıda firmaların uygulama seçiminde dikkat ettiği kararları ve organizasyonel yapılanma hakkında kısa kısa bilgiler vermeye çalışmıştık. Bu yazıda ise kalıcı projelerin oluşturulması ve stratejik kararların verilmesi anında yaşanan süreçleri irdeleyeceğiz.

 

BT insanlarının kariyerlerinin en başlarında yaşadıkları bir ironi vardır. Hangi uygulama geliştirme platformunu kullanmalıyım? Sen Java ‘cısın ben .Net ‘çiyim, o Delphi ‘ci. Bunlardan hangisi daha iyi. Hangisinde kendimi geliştirmeliyim. Yoksa ben uygulama geliştiremiyor muyum? Peki analist mi olmalıyım? Yoksa veri tabanı yöneticisi mi? Bu sorular sürekli geldi geçti başımızdan… Öncelikle dikkat etmemiz gereken konu hepsinin en sonunda aynı noktaya ve aynı amaca hizmet ettiğini görmek. Bir sonraki süreçte ise proje, yaşam ve stratejilere bağlı olarak farklı teknolojiler ve farklı firmaların ürünlerini kullanmamız gerekebilir. Eğer fanatik bir teknoloji sever iseniz içinizde yanan ateşi söndürerek işinizi yapmaya bakın.

İçten yanan ateşe en güzel örneği kendimden verebilirim. Sektöre başladığımdan beri elimden geldiğinde en yeni teknolojiyi geliştirmiş / geliştirtmiş olduğum projeler tercih etmeye çalıştım. Ancak elimden geldiğince dememin bir sebebi var. Kendim için gariptir ki dahil oldğum projelerin neredeyse tamamı .Net 1.0 ‘da ya da asp ‘de hazırlanmış olan projelerin yeni teknolojiye (.Net 2.0 ne kadar yeniyse artık… ( Daha yeni teknolojilerede geçiyoruz bu arada. ) Smile ) taşıma ve sürdürebilirlik projeleri oldu. Burada bir projeyi .Net 3.5 ya da .Net 4.0 var iken .Net 2.0 yapacaksın demeleri en başlarda içsel bir huzursuzluğa yol açsa da zamanla kurumsal kimliklerden kaynaklı olarak böyle stratejiler yapıldığı gözlemlenebiliyor. Farklı firmalarda da buna benzer konular yaşandıkça artık insan alışıyor ve uyum sağlayarak iyi en iyi şekilde yapmaya çalışıyor.

 

Herhangi bir firmanın proje grubunda yer aldığınızda öncelikli olarak göreceğimiz ilk proje CRM uygulaması olacaktır. Ayrıca sürekli olarak bu uygulamayı geliştirmenin ve iyileştirmenin çabaları ve organizasyonel yapılandırmaları yapılır. Genellikle CRM uygulamaları Mıcrosoft .Net Framework üzerinde web ya da desktop application olarak hazırlanmış projelerdir. Eğer ki Desktop application ise Citrix üzerinde çalıştırmanın yollarına ya da web uygulaması ile yeniden yapılandırılması amaçlanır. Bu iki adımda gerçekleşti ise günümüzde sağlamış olduğu standartlık ve stabilizasyonu sebebi ile uygulamayı SAP üzerine taşımak adımı yaşanmaya başlıyor. Eğer ki Intranet uygulamaları var ise bu uygulamalarda Sharepoint server üzerinde tasarlanmaya çalışıyor.

 

Olayın bir de çok farklı bir boyutu var. Neredeyse Microsoft ile anlaşması olan firmaların büyük çoğunluğunda Sharepoint server kurulu ve döküman yönetim sistemi olarak kullanıldığı gözlemlenir. Ancak crawl kurgulanmadığı için arama kriterlerinden öte sadece saklama alanı olarak kullanılır. Zamanla bu uygulamaların daha efektif kullanılması için planlama yapılır ve geliştirilir.

 

Uygulamaların geliştirilmesi ve sürdürülebilmesi için kararlar alınmalıdır ve gerçekleştirilebilmelidir.

 

Günümğz polüler seçimlerini dikkat aldığımızda

  • CRM uygulamaları için Dynamics CRM ve SAP kullanımı
  • Portal ve Intranet uygulamalarında Sharepoint kullanımı
  • Web uygulamalarında MVC Framework ‘I kullanma
  • Desktop application için WPF ve XAML form kullanımı
  • Azure servislerinin kullanımı
  • Santral sistemlerinde Avaya kullanımı
  • ve tabiki sosyal medyanın yüksek olan ve yükselme potansiyeli daha fazla olan gücü
    şeklinde sırayabiliriz.
Tekrardan görüşmek üzere…