GIỚI THIỆU .NET
Người trình bày: Ngô Thanh Tùng
PhóTGĐ Softech
NỘI DUNG TRÌNH BÀY
• Tổng quan về .NET
• .NET làm được gì?
• Nếu chọn .NET bạn cần phải học những gì?
• Mục tiêu trở thành lập trình viên chuyên nghiệp.
• Cơ hội nghề nghiệp.
• Hỏi / Đáp
TỔNG QUAN VỀ .NET
• .NET Framework là gì?
• Do Microsoft phát triển.
• Ra đời cuối năm 2000.
• Là một tập hợp các kỹ thuật, công nghệ phát triển phần mềm của Microsoft.
• Hiện tại, .NET Framework chỉ chạy trên các máy tính có hệ điều hành Microsoft Windows.
• Phiên bản sắp tới 2015, .NET Framework trở thành OPEN SOURCE và có thể chạy trên LINUX, UNIX, MACOS ,…
QUÁ TRÌNH PHÁT TRIỂN CỦA .NET
.NET Framework 1.0 (Năm2002, Visual Studio .NET 2002) .NET Framework 1.1 (2003, Visual Studio .NET 2003) .NET Framework 2.0 (2005, Visual Studio .NET 2005) .NET Framework 3.0 (2006, Visual Studio 2005) .NET Framework 3.5 (2008, Visual Studio 2008) .NET Framework 4.0 (2010, Visual Studio 2010) .NET Framework 4.5 (2012, Visual Studio 2012) .NET Framework 4.5.1 (2013, Visual Studio 2013)
CÁC THÀNH PHẦN CỦA .NET FRAMEWORK
Common Language Runtime (CLR)
Dynamic Language Runtime (DLR)
Base Framework Classes
ASP.NET (Web Forms, MVC)
Windows Forms, WPF
ADO.NET, Entity Framework, LINQ
Windows Workflow Foundation (WF)
Web Service, Web API, WCF
Parallel LINQ, Task Parallel Library
NGÔN NGỮ LẬP TRÌNH CSHARP (C#)
• Microsoft giới thiệu C# như là một ngôn ngữ mới có khả năng giải quyết tốt các khuyết điểm mà các ngôn ngữ truyền thống mắc phải. Và là ngôn ngữ chủ đạo của .NET Framework.
• C# thừa kế từ C++, Java.
• C# có các tính năng nổi bật:
• Định kiểu rõ ràng (Strong typing).
• Khai báo tường minh (Declarative).
• Ràng buộc chặt chẽ (Imperative).
• Hướng đối tượng (Object-oriented)
• Hướng thành phần (Component-oriented)
VISUAL STUDIO
• Visual Studio là công cụ.
• Visual Studio là môi trường tích hợp để phát triển:
• Web, Desktop Application, Windows Store, Windows Phone, XNA Game, Web Service, Testing, Team System.
VISUAL STUDIO (UML)
TEAM FOUNDATION SERVER
TEAM FOUNDATION SERVER
Tester Developer
Architect
Project Manager Business
Analyst
Designer Database
Professional
Vai trò của Team Foundation Server trong ALM: Máy chủ hợp nhất để quản lý tất cả các công việc trong phát triển dự án phần mềm.
.NET 4.5 CÓ GÌ MỚI?
• Desktop Application (Windows Forms):
• Ứng dụng cho máy tính để bàn chạy HĐH Windows
.NET LÀM ĐƯỢC NHỮNG GÌ?
• Desktop Application (Windows Forms):
• Ứng dụng cho máy tính để bàn chạy HĐH Windows
DESKTOP APPLICATION – PHẦN MỀM HRS
DESKTOP APPLICATION – PHẦN MỀM HRS
DESKTOP APPLICATION – PHẦN MỀM ECS
.NET LÀM ĐƯỢC NHỮNG GÌ?
• Web Application (Webforms & MVC):
• Ứng dụng chạy trên nền WEB được triển khai tại máy chủ IIS của Microsoft
Web Application (Webforms)
Web Application (ASP.NET MVC)
.NET làm được những gì?
• Windows Workflow Foundation (WF): Xây dựng các thành phần, thư viện phục vụ các hệ thống có chức năng XỬ LÝ CÔNG VIỆC THEO QUY TRÌNH
(WORKFLOW)
Windows Workflow Foundation (WF)
.NET LÀM ĐƯỢC NHỮNG GÌ?
• Windows Communication Foundation (WCF): Xây dựng hệ thống có các thành phần hướng dịch vụ.
• Thường áp dụng trong các loại:
• Các giao dịch xử lý cần bảo mật cao.
• Trao đổi dữ liệu giữa các hệ thống, các nền tảng khác nhau.
• Các hệ thống có nhiều giao diện đầu cuối nhưng sử dụng chung các nghiệp vụ xử lý.
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)
CSDL Hải quan CSDL
Doanh nghiệp
Cổng tiếp nhận thông tin điện tử Hải Quan
Chương trình
Softech ECS Chương trình
Softech ECS
Lưu dữ
liệu 1
2
Chương trình
NHẬP THÔNG TIN KHAI BÁO ĐiỆN TỬ CÁC LOẠI HÌNH
-LoạihìnhSản Xuất Xuất Khẩu.
-LoạihìnhGia Công.
-LoạihìnhĐầu Tư.
-LoạihìnhKinh Doanh CHI CỤC HẢI QUAN
WCF
.NET làm được những gì?
• Lập trình Game:
• Unity3D: Sử dụng C# là ngôn ngữ lập trình
• XNA, OpenGL, DirectX: Lập trình game cho hệ máy console XBOX.
.NET làm được những gì?
• Lập trình di động:
• Windows Store (Windows 8.1)
• Windows Phone (Nokia Lumia)
CHỌN .NET THÌ NÊN HỌC CÁI GÌ?
• Ngôn ngữ lập trình C#
• Làm chủ ngôn ngữ lập trình.
• Sử dụng thành thạo các thư viện phổ biến của .NET Framework
• Cơ sở dữ liệu:
• Hiểu rõ về lý thuyết của CSDL quan hệ.
• Thiết kế cơ sở dữ liệu trên Microsoft Sql Server
• Lập trình cơ sở dữ liệu với T-SQL trên Microsoft Sql Server.
• Phát triển ứng dụng DESKTOP
• Phát triển ứng dụng trên WEB
CHỌN .NET THÌ NÊN HỌC CÁI GÌ?
• Ngôn ngữ lập trình C#
• Làm chủ ngôn ngữ lập trình.
• Sử dụng thành thạo các thư viện phổ biến của .NET Framework
• Cơ sở dữ liệu:
• Hiểu rõ về lý thuyết của CSDL quan hệ.
• Thiết kế cơ sở dữ liệu trên Microsoft Sql Server
• Lập trình cơ sở dữ liệu với T-SQL trên Microsoft Sql Server.
• Phát triển ứng dụng DESKTOP (Winforms, WPF)
• Phát triển ứng dụng trên WEB (HTML, WebForms,
MVC)
CHỌN .NET THÌ NÊN HỌC CÁI GÌ?
• Sử dụng thành thạo ADO.NET để truy cập CSDL từ môi trường lập trình.
• Sử dụng ADO.NET Entity Framework (ORM) và LINQ.
• Biết và vận dụng WebService, WCF để phát triển các ứng dụng hướng dịch vụ.
• Lập trình di động: Windows Phone
VÀ SAU ĐÓ TIẾP TỤC HỌC NÂNG CAO:
• Web (Front-End):
• Html5, Jquery, AngularJS, KnockoutJS, …
• Database:
• Advanced Sql Server: Report Service, Analysis Service, Integration Service, Service Broker.
• Sql Azure (Database Cloud Computing)
• Programming: Design Pattern
• NoSql:
• MongoDb, RavenDb, CrouchDb, CasandraDb, …
• Real-time: SignalR
CƠ HỘI NGHỀ NGHIỆP, VÀ LỰA CHỌN CỦA BẠN
• Đừng bao giờ dùng số liệu thống kê ở đâu đó để giải quyết vấn đề lựa chọn ngôn ngữ lập trình.
• Bạn có thể lựa một ngôn ngữ nổi tiếng để dễ dàng xin việc nhưng nó cũng sẽ đẩy bạn vào cảnh đối chọi với hàng ngàn ứng viên khác .
• Những ngôn ngữ lập trình khác nhau được
dùng để giải quyết các dạng vấn đề khác nhau.
CƠ HỘI NGHỀ NGHIỆP
Công nghệ lúc lên lúc xuống
TRỞ THÀNH LẬP TRÌNH VIÊN CHUYÊN NGHIỆP
1
2
3
4
5
6
MỤC TIÊU KỲ VỌNG CỦA MỘT LẬP TRÌNH VIÊN
1. Không giới hạn ở bất kỳ 1 language (ngôn ngữ) hay 1 framework (nền tảng) hay 1 specialization (chuyên môn CNTT).
2. Có kiến thức IT tổng quát và khả năng tìm hiểu sâu khi cần thiết bất kỳ vấn đề gì thuộc: (1) Server – Network (2) Database (3) Web frameworks (4) Mobile frameworks 5 (Cloud Computing)
3. Hiểu và ứng dụng được UI/UX vào trong sản phẩm phần mềm.
4. Nắm bắt nhanh Business Logic và chuyển hóa thành Technical Logic.
5. Biết được khi nào cần hiểu rộng, khi nào cần hiểu sâu và làm rõ vấn đề.
6. Có thể lập trình được nhiều ngôn ngữ, ít nhất 1 ngôn ngữ web và 1 ngôn ngữ mobile.
HỎI / ĐÁP
Câu 01: Hai tính chất nào sau đây không thuộc bốn tính chất cơ bản của LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG?
a) Abstraction (Trừu tượng) b) Constructor (Khởi tạo) c) Polymorphism (Đa hình)
d) Encapsulation (Bao phủ, bao đóng) e) Inheritance (Kế thừa)
f) Overload (Nạp chồng)
HỎI / ĐÁP
Câu 02: Cơ sở dữ liệu MySql hiện nay thuộc sở hữu của tập đoàn nào?
a) Sun Microsystem b) Infosys
c) Oracle
d) IBM
HỎI / ĐÁP
Câu 03: MongoDB thuộc loại CSDL nào sau đây ?
a) Relational Database
b) Document Database
c) Key-Value Database
d) Column Database
e) Graph Database
HỎI / ĐÁP
Câu 04: Mô hình lập trình MVC viết tắt cho cụm từ nào?
a) Model – View – Cache
b) Model – View – Controller
c) Model – View – Component
d) Model – Visual – Controller
e) Model – Visual – Component
HỎI / ĐÁP
Câu 05:
public void call(String… args){}
Hàm này có phải hàm đúng không?
HỎI / ĐÁP
Câu 06:
Int a = new Integer(“1”);
Int a = Integer.parseInt(“1”);
Câu lệnh nào trên đây đúng ?
Nếu cả 2 đều đúng nên dùng câu
lệnh nào?
CẢM ƠN