4.1.1.1 Phía backend sử dụng nền tảng ASP.NET với ngôn ngữ c# + ASP.NET
ASP.Net là một nền tảng dành cho phát triển web, được Microsoft phát hành và cung cấp lần đầu tiên vào năm 2002. Nền tảng được sử dụng để tạo ra các ứng dụng web-based.
Phiên bản ASP.Net đầu tiên được triển khai là 1.0 và phiên bản ASP.Net mới nhất là phiên bản 4.6. ASP.Net được thiết kế để tương thích với giao thức HTTP. HTTP là giao thức chuẩn được sử dụng trên tất cả các ứng dụng web.
Các ứng dụng ASP.Net có thể được viết bằng nhiều ngôn ngữ .Net khác nhau. Trong đó có các kiểu ngôn ngữ như C #, VB.Net và J #.
nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
-C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm
Executable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau.
-C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), . . . trở nên rất dễ dàng.
Đặc trưng của c#
-C# là ngôn ngữ đơn giản
Như ta đã biết thì ngôn ngữ C# dựng trên nền tảng C++ và Java nên ngôn ngữ C# khá đơn giản. Nếu chúng ta thân thiện với C và C++ hoậc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn. Một vài trong các sự cải tiến là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi.
-C# là ngôn ngữ hiện đại
Một vài khái niệm khá mới mẻ khá mơ hồ với các bạn vừa mới học lập trình, như xử lý ngoại lệ, những kiểu dữ liệu mở rộng, bảo mật mã nguồn..v..v... Đây là những đặc tính được cho là của một ngôn ngữ hiện đại cần có. Và C# chứa tất cả các đặt tính ta vừa nêu trên. Các bạn sẽ dần tìm hiểu được các đặt tính trên qua các bài học trong series này.
-C# là một ngôn ngữ lập trình thuần hướng đối tượng
Lập trình hướng đối tượng(tiếng Anh: Object-oriented programming, viết tắt: OOP) là một phương pháp lập trình có 4 tính chất. Đó là tính trừu tượng (abstraction), tính đóng gói (encapsulation), tính đa hình (polymorphism) và tính kế thừa (inheritance). C# hỗ trợ cho chúng ta tất cả những đặc tính trên. Và để hiểu rõ hơn thì chúng ta sẽ có một chương trình bày về phần này.
-C# là một ngôn ngữ ít từ khóa
C được sử dụng để mô tả thôn# là ngôn ngữ sử dụng giới hạn những từ khóa (gồm khoảng 80 từ khóa và mười mấy kiểu dữ liệu xây dựng sẵn). Nếu bạn nghĩ rằng ngôn ngữ có càng nhiều từ khóa thì sẽ càng mạnh mẽ hơn. Điều này không phải sự thật, lấy ví dụ ngôn ngữ C# làm điển hình nhé. Nếu bạn học sâu về C# bạn sẽ thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào. Ngoài những đặc điểm trên thì còn một số ưu điểm nổi bật của C#:
• C# có cấu trúc khá gần gũi với các ngôn ngữ lập trình truyền thống, nên cũng khá dể dàng tiếp cận và học nhanh với C#.
• C# có thể biên dịch trên nhiều nền tảng máy tính khác nhau.
• C# được xây dựng trên nền tảng của C++ và Java nên nó được thừa hưởng những ưu điểm của ngôn ngữ đó.
• C# là một phần của .NET Framework nên được sự chống lưng khá lớn đến từ bộ phận này.
• C# có IDE Visual Studio cùng nhiều plug-in vô cùng mạnh mẽ. 4.1.1.2 Phía Front end sử dụng framework Angular (version 6)
Angular là một javascript framework do google phát triển để xây dựng các Single Page Application (SPA) bằng JavaScript, HTML và TypeScript. Angular cung cấp các tính năng tích hợp cho animation, http service và có các tính năng như auto-complete, navigation, toolbar, menus ,… Code được viết bằng TypeScript , biên dịch thành JavaScript và hiển thị tương tự trong trình duyệt. -Angular version 6 với HTML 5 và CSS3, Typescript trong đó:
+ HTML5 là một ngôn ngữ lập trình được phát triển trên nền tảng ngôn ngữ HTML và quan trọng nhất của World Wide Web (WWW). Nó được sử dụng để thiết kế và cấu trúc các website, hỗ trợ cho đa phương tiện tối đa nhưng vẫn giúp cho website thân thiện với mọi người dùng và mọi thiết bị, các chương trình máy tính, trình duyệt web
thêm nhiều tính năng mới tiện lợi hơn CSS cho người dùng. Được thừa hưởng tất cả những gì có trong phiên bản trước và bổ sung các tính năng mới, CSS3 hiện rất được ưa chuộng trong thiết kế website
Để nói về CSS3 chắc chắn không thể không nhắc đến tiền thân của nó là CSS. CSS là từ viết tắt của cụm từ Cascading Style Sheets, ngôn ngữ được sử dụng để tạo nên phong cách cho website.
• Có thể hiểu CSS đóng vai trò như một công cụ giúp chúng ta thêm vào những thay đổi về mặt hình thức như đổi bố cục, màu sắc, font chữ,… • CSS hoạt động bằng cách khoanh vùng chọn dựa vào tên một
thẻ HTML, ID hay Class. Từ đó, áp dụng những thuộc tính cần thay đổi lên vùng được chọn.
• Nếu một website không có CSS thì đó sẽ chỉ đơn thuần là một trang chứa văn bản với 2 màu chủ đạo là trắng và đen.
+ TypeScript là một dự án mã nguồn mở được phát triển bởi Microsoft, nó có thể được coi là một phiên bản nâng cao của Javascript bởi việc bổ sung tùy chọn kiểu tĩnh và lớp hướng đối tượng mà điều này không có ở Javascript. TypeScript có thể sử dụng để phát triển các ứng dụng chạy ở client-side (Angular2) và server-side (NodeJS).
TypeScript sử dụng tất cả các tính năng của của ECMAScript 2015 (ES6) như classes, modules. Không dừng lại ở đó nếu như ECMAScript 2017 ra đời thì mình tin chắc rằng TypeScript cũng sẽ nâng cấp phiên bản của mình lên để sử dụng mọi kỹ thuật mới nhất từ ECMAScript.
Lợi ích khi dùng typescript
• Dễ phát triển dự án lớn: Với việc sử dụng các kỹ thuật mới nhất và lập trình hướng đối tượng nên TypeScript giúp chúng ta phát triển các dự án lớn một cách dễ dàng.
• Nhiều Framework lựa chọn: Hiện nay các Javascript Framework đã dần khuyến khích nên sử dụng TypeScript để phát triển, ví dụ như AngularJS 2.0 và Ionic 2.0.
• Hô trợ các tính năng của Javascript phiên bản mới nhất: TypeScript luôn đảm bảo việc sử dụng đầy đủ các kỹ thuật mới nhất của Javascript, ví dụ như version hiện tại là ECMAScript 2015 (ES6).
• Là mã nguồn mở: TypeScript là một mã nguồn mở nên bạn hoàn toàn có thể sử dụng mà không mất phí, bên cạnh đó còn được cộng đồng hỗ trợ. -Đổi mới trong Angular version 6:
• Cập nhật CLI, command line interface: thêm 1 số lệnh mới như ng-update để chuyển từ version trước sang version hiện tại; ng-add để thêm các tính năng của ứng dụng để trở thành một ứng dụng web tiến bộ.
• Cập nhật CDK (Component Development Kit): Hỗ trợ tạo các thành phần UI tùy chỉnh, responsive web, tạo pop-ups mà không cần thư viện
Material Angular .
• Cập nhật Angular Material : Component tree được thêm vào, mat-tree , a styled version and cdk-tree, để thể hiện cấu trúc phân cấp như cây.
• Sử dụng Rxjs
• Angular Element: Cho phép các component của Angular được triển khai dưới dạng component web, sau đó có thể được sử dụng trong bất kỳ trang HTML nào một cách dễ dàng.
• Multiple Validators: cho phép nhiều Validators được áp dụng trên form builder.
• Tree Shaking trên service: giúp loại bỏ mã code chết. 4.1.1.3. Giới thiệu về Boilerplate ASP.NET
ASP.NET Boilerplate cung cấp một giao diện, như một điểm bắt đầu cơ bản để xây dựng các ứng dụng web tốt nhất.
tính năng tốt nhất và các công cụ phổ biến nhất. Nó là một khung ứng dụng cho mục đích chung và cũng được coi là một mẫu dự án. Các tính năng bao gồm:
• ASP.NET MVC và API Web • Thiết kế hướng tên miền • Kiến trúc NLayer
• Các mô-đun có thể tái sử dụng và tổng hợp
• ORM
• Di chuyển cơ sở dữ liệu • Bản địa hóa
• Sự kiện
• Xử lý ngoại lệ và xác nhận • Lớp API Web động
• Ứng dụng một trang (với AngularJs và Durandaljs) • Injection.