Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, NativeScript Developer Day etkinliğinde Rob Lauer tarafından sunulan bir eğitim oturumudur. Rob, Mobility Wing'in Developer Relations ekibinin bir parçası olarak NativeScript'e odaklanmaktadır.
- Sunum, NativeScript'in ne olduğu, nasıl çalıştığı ve avantajları hakkında kapsamlı bilgiler sunmaktadır. Video, NativeScript'in temel kavramlarını, çalışma prensiplerini, web becerilerini kullanarak native mobil uygulamalar geliştirmenin avantajlarını ve React Native ile karşılaştırmasını içermektedir. Ayrıca, NativeScript'in 2013'te başladığı, 2014'te temel yapısını oluşturduğu ve 2015'te kamuya sunulduğu bilgisi de paylaşılmaktadır.
- Sunumda NativeScript'in Apache V2 lisanslı olduğu, 100% kod paylaşımı, 80% web kod paylaşımı, zengin ve animasyonlu native UI, 60 frame per second performans gibi avantajları vurgulanmaktadır. Ayrıca, alternatif Android emülatörleri, TNS Run ile Live Sync, canlı kodlama deneyimi, CSS ile tema değiştirme, Visual Studio Code ve Chrome dev araçlarıyla debugging yapma gibi pratik bilgiler de sunulmaktadır. Video, NativeScript'in temel kavramları, native UI elemanları ve farklı layout türleri hakkında bilgiler vererek, web geliştiricileri için JavaScript ve TypeScript kullanarak native mobil uygulamalar geliştirmeye olanak sağladığı vurgusuyla sonlanmaktadır.
- 00:00Introduction to NativeScript
- This session is a complete introductory presentation about NativeScript 101.
- The speaker, Rob Lauer, manages the mobility wing of the developer relations team, which is 99% focused on NativeScript.
- The session will cover what NativeScript is, what JavaScript Native means, who the big players are, and why it's important.
- 01:15Cross-Platform Development Challenges
- The world is currently fragmented with different platforms requiring different languages: iOS for Objective-C/Swift, Android for Java, Windows for .NET.
- Cross-platform development has been sought through web, PWA's, hybrid (Apache Cordova), and native development.
- Hybrid development offers 100% reuse of web skills and native device features, but it has performance and webview-related compromises.
- 03:21Native JavaScript Frameworks
- True native development has limited cross-platform capabilities, but it's possible with substantial effort.
- First generation cross-platform native solutions like Xamarin and Xceleros allow development in C# or JavaScript.
- Today, all cross-platform solutions (mobile web, hybrid, native) are based on web technology.
- 04:07Performance and Choice
- Hybrid development allows quick market entry but compromises user experience, while native development provides better experience but is slower.
- A survey shows 84% of people consider mobile app performance very or somewhat important, and poor performance leads to user abandonment.
- Web skills now don't have a binary choice; native JavaScript frameworks allow for fast market entry and good experience.
- 05:09JavaScript-Driven Native Frameworks
- JavaScript-driven native development is native UI driven by JavaScript.
- All frameworks have a JavaScript engine accessed on the device and a bridge to native UI.
- The biggest players are React Native (Facebook) and NativeScript (Progress), along with Wix (Alibaba), Fuse Tools (Scandinavia), and Flutter (Google).
- 06:11React Native and NativeScript Comparison
- Both React Native and NativeScript effectively work the same way: JavaScript is written, runs in a JavaScript VM on the device, and leverages native UI.
- NativeScript is focused on writing once by default, while React Native is more focused on learning at once and then writing for each platform.
- NativeScript plugins are written with JavaScript or TypeScript, React Native plugins are written with native code.
- 07:03NativeScript Avantajları
- NativeScript provides 100% day-0 API access, allowing new API features to be leveraged on day one.
- NativeScript is single-threaded, while React Native runs a UI thread and JavaScript on a JavaScript thread.
- Performance is similar between NativeScript and React Native, but NativeScript can leverage Angular, Vue, or vanilla JavaScript.
- 09:32NativeScript Benefits
- NativeScript allows sharing code between iOS and Android platforms.
- It leverages existing skills in teams and web skills to develop native mobile apps.
- NativeScript can use existing JavaScript libraries, CocoaPods, and Android Jars without additional development.
- 10:06Native Script Tanıtımı
- Native Script, web view kullanmadan native UI sunan, cihaz API'lerine tam erişim sağlayan ve yeni OS özelliklerine hemen erişim sağlayan bir frameworkdir.
- Native Script, 2013'te erken prototiplerle başlamış, 2014'te temelini oluşturmuş ve 2015'te resmi olarak piyasaya sürülmüştür.
- Native Script'in npm downloadları, Ionic ve React Native gibi rakipleriyle karşılaştırıldığında trend olarak artmaktadır.
- 11:46Native Script'in Özellikleri
- Native Script, Apache V2 lisanslı bir açık kaynak frameworkidir ve hem iOS hem de Android için native mobil uygulamalar oluşturmayı sağlar.
- Geliştiriciler web becerilerini (JavaScript, CSS ve XML-based markup) kullanarak bir kez yazıp her yerde çalıştırabilirler.
- Native Script, küçük uygulamalarda %100 kod paylaşımı sağlarken, büyük uygulamalarda platform özel özelleştirmeler gerektirebilir.
- 12:52Native Script'in Farklılıkları
- Native Script, zengin, animasyonlu ve hiçbir şekilde ödün vermeden native UI sunmayı hedeflemektedir.
- Uygulama performansı ölçülebilir olmalı ve 60 frame per second jank-free performans sunulmalıdır.
- Son birkaç aydaki Native Script 3.3.x sürümleri performans odaklı geliştirilmiştir.
- 14:20Native Script'in Çalışma Prensibi
- Native Script, JavaScript kodlarını doğrudan cihazlarda çalıştırır; Android'te VM veya V8, iOS'ta ise modifiye edilmiş JavaScript çekirdeği üzerinde çalışır.
- Native Script modülleri, native API'leri soyutlayarak platformlar arası bir API sunar; örneğin NSFileManager modülü.
- Geliştiriciler genellikle native script modülleri üzerinden kod yazarken, nadiren doğrudan platform API'lerine ihtiyaç duyarlar.
- 17:26Native Script Geliştirme
- Native Script'te UI, XML-based bir markap kullanılarak oluşturulur (HTML'e benzer ancak farklı).
- Backend mantığı JavaScript ile, uygulama stilizasyonu ise CSS ile yapılır.
- Native Script, TypeScript ve Angular gibi popüler web teknolojilerine destek sunar.
- 18:13Native Script Projesi Oluşturma
- Native Script kurulumu için "npm install -g native-script" komutu kullanılır.
- Yeni bir uygulama oluşturmak için "tns create app_name" komutu kullanılır.
- Her sayfa iki veya üç dosyadan oluşur: XML dosyası (UI), JavaScript dosyası (mantık) ve isteğe bağlı CSS dosyası (stiller).
- 20:01NativeScript Geliştirme Ortamları ve Live Sync
- Alternatif Android emülatörleri kullanılabilir, örneğin Windows'ta VS Android Emulator kullanılabilir.
- TNS Run, NativeScript Live Sync'i varsayılan olarak kullanır ve bu, geliştirme sürecinde kritik bir bileşendir.
- Live Sync, değişiklikleri hemen uygulamayı yenileyerek iteratif geliştirme sürecini hızlandırır, böylece değişiklikler bir saniye içinde görülebilir.
- 21:23NativeScript Demo Uygulaması
- NativeScript kurulumu için "npm install -g native-script" komutu kullanılabilir.
- "ts create devday" komutu ile hızlıca bir bootstrapped uygulama oluşturulabilir.
- "tns run ios" komutu ile platform spesifik dosyalar indirilir ve uygulama çalıştırılır.
- 23:08Live Sync ve CSS Kullanımı
- Live Sync sayesinde kod değişiklikleri anında uygulamada görülebilir, örneğin butonların konumu ayarlanabilir.
- NativeScript uygulamaları varsayılan olarak light tema ile gelir, ancak dark tema seçeneği de mevcuttur.
- CSS ile butonların boyutu ve font rengi gibi özellikleri kolayca değiştirilebilir.
- 24:55Visual Studio Code ile Debugging
- Visual Studio Code'da NativeScript uzantısı ile uygulama debug edilebilir.
- Breakpointler kullanılarak kodun belirli noktalarında durdurulabilir ve değişkenler incelenebilir.
- Android için "tns debug android" komutu ile debug build oluşturulabilir ve Chrome dev araçları ile uygulama test edilebilir.
- 27:43NativeScript UI Elemanları ve Layouts
- NativeScript'te UI elemanları aslında cross-platform abstractasyonlardır ve native performans, davranış ve erişilebilirlik sağlar.
- NativeScript'te çeşitli UI widget'lar bulunur: label, text field, repeater/list view, segmented bar gibi.
- NativeScript'te absolute, dock, grid, stack, wrap ve flexbox gibi farklı layout'lar kullanılabilir ve bu layout'lar arasında nesting yapılabilir.
- 30:34Platform-Specific UI Özellikleri
- NativeScript ile oluşturulan UI'ler hızlıca karmaşıklaşabilir, bu da kullanıcılar için daha güzel ve karmaşık bir deneyim sunar.
- Platform-specific davranışlar için dosyaları farklı isimlerle adlandırabilir veya tek bir view içinde Android veya iOS için özel etiketler kullanabilirsiniz.
- NativeScript, bir kez yazıp farklı platformlara hedefleme imkanı sunar ve uygulamalar tamamen CSS ile stilize edilebilir.
- 32:16CSS ve NativeScript UI
- NativeScript, CSS'in bir kısmını destekler ve aynı seçicileri (tüm butonlar için "button", sınıf için ".class", ID için "#id") kullanabilirsiniz.
- NativeScript UI tamamen ücretsizdir ve güçlü charting, form kontrolü, takvim, radyo göstergesi, otomatik tamamlama ve liste görünümü gibi özellikler sunar.
- NativeScript UI tamamen JavaScript'tir ve MVVM, Angular, TypeScript ve Vue gibi farklı geliştirme kalıplarını destekler.
- 34:10Debugging ve Kullanım
- NativeScript ile uygulamaları debug etmek için alert, konsol log, değişkenleri konsola yazdırma, Chrome Dev Tools, Safari Web Inspector ve Visual Studio/Visual Studio Code'daki native debugger gibi çeşitli yöntemler kullanılabilir.
- NativeScript'i kullanmak için iki kolay yol vardır: ücretsiz ve açık kaynaklı NativeScript CLI veya daha görsel bir arayüz sunan NativeScript Sidekick.
- NativeScript topluluğu, forum.nativescript.org ve büyüyen Slack kanalı gibi destek kaynakları sunar.
- 36:26NativeScript'in Avantajları
- NativeScript, web view'ler olmadan gerçek native mobil uygulamalar oluşturmayı sağlar ve JavaScript veya TypeScript ile geliştirilebilir.
- NativeScript, web geliştiricileri için tasarlanmıştır ve Angular, CSS gibi web becerilerini kullanabilirsiniz.
- NativeScript, binlerce kütüphane kullanma imkanı sunar ve iOS ve Android'te gerçek native UI ve performans sağlar.