Khái niệm về Java

Java là một Ngôn ngữ lập trình.

Ngôn ngữ lập trình: Java là một ngôn ngữ lập trình bậc cao, hướng đối tượng, bảo mật và mạnh mẽ.
Platform: Bất cứ môi trường phần cứng hoặc phần mềm nào mà trong đó có một chương trình chạy, thì được hiểu như là một Platform. Với môi trường runtime riêng cho mình (JRE) và API, Java được gọi là Platform.
Ngôn ngữ lập trình Java ban đầu được phát triển bởi Sun Microsystems do James Gosling khởi xướng và phát hành vào năm 1995. Phiên bản mới nhất của Java Standard Edition là Java SE 8. Với sự tiến bộ của Java và sự phổ biến rộng rãi của nó, nhiều cấu hình đã được xây dựng để phù hợp với nhiều loại nền tảng khác nhau. Ví dụ: J2EE cho các ứng dụng doanh nghiệp, J2ME cho các ứng dụng di động.
Các phiên bản J2 mới đã được đổi tên thành Java SE, Java EE và Java ME. Phương châm của java là “Write Once, Run Anywhere” – viết một lần chạy nhiều nơi, nghĩa là bạn chỉ cần viết một lần trên window chẳng hạn, sau đó vẫn chương trình đó bạn có thể chạy trên Linux, Android, các thiết bị J2ME…

Java là gì
Java là gì

Java là:

  • Hướng đối tượng – Trong Java, mọi thứ đều là một Object. Java có thể dễ dàng mở rộng và bảo trì vì nó được xây dựng dựa trên mô hình Object.
  • Nền tảng độc lập – Không giống nhiều ngôn ngữ lập trình khác bao gồm cả C và C ++, khi Java được biên dịch, nó không được biên dịch thành ngôn ngữ máy nền tảng cụ thể, thay vào mã byte – nền tảng độc lập. Mã byte này được thông dịch bởi máy ảo (JVM) trên nền tảng nào đó mà nó đang chạy.
  • Đơn giản – Java được thiết kế để dễ học. Nếu bạn hiểu khái niệm cơ bản về OOP Java, sẽ rất dễ để trở thành master về java.
  • Bảo mật – Với tính năng an toàn của Java, nó cho phép phát triển các hệ thống không có virut, giả mạo. Các kỹ thuật xác thực dựa trên mã hoá khóa công khai.
  • Kiến trúc – trung lập – Trình biên dịch Java tạo ra định dạng tệp đối tượng kiến trúc trung lập, làm cho mã biên dịch được thực thi trên nhiều bộ vi xử lý, với sự hiện diện của hệ điều hành Java.
  • Portable – Là kiến trúc tập trung và không có khía cạnh thực hiện phụ thuộc của đặc tả này làm cho Java khả chuyển. Trình biên dịch trong Java được viết bằng ANSI C, đó là một tập con POSIX.
  • Mạnh mẽ – Java làm nỗ lực để loại trừ các tình huống dễ bị lỗi bằng cách kiểm tra lỗi tại thời gian biên dịch và kiểm tra lỗi tại runtime.
  • Đa luồng – Với tính năng đa luồng của Java có thể viết các chương trình có thể thực hiện nhiều tác vụ đồng thời. Tính năng thiết kế này cho phép các nhà phát triển xây dựng các ứng dụng tương tác có thể chạy trơn tru hơn.
  • Thông dịch – Mã byte Java được dịch trực tiếp tới các máy tính gốc và không được lưu trữ ở bất cứ đâu.
  • Hiệu năng cao – Với việc sử dụng trình biên dịch Just-In-Time, Java cho phép thực hiện hiệu năng cao.
  • Phân tán – Java được thiết kế cho môi trường phân tán của Internet.
  • Năng động – Java là năng động hơn C hoặc C++ vì nó được thiết kế để thích nghi với môi trường đang phát triển. Các chương trình Java có thể mang một lượng lớn thông tin tại runtime mà có thể được sử dụng để xác minh và giải quyết các truy cập vào các đối tượng tại runtime.

Ví dụ về Java

Dưới đây là ví dụ về chương trình đơn giản trong java để in “Hello World”, xem chi tiết tại đây Hello World

public class HelloWorld {
    public static void main(String args[]){ 
       System.out.println("Hello Java"); 
    
}

Kết quả:

Kết quả
Kết quả

Nơi Java được sử dụng

Theo tập đoàn SUN, hiện nay có khoảng 3 tỷ thiết bị đang chạy java. Ví dụ:

  1. Desktop App như acrobat reader, media player, antivirus, …
  2. Web App như irctc.co.in, javatpoint.com, …
  3. Enterprise App như các ứng dụng về xử lý nghiệp vụ ngân hàng, …
  4. Thiết bị Mobile
  5. Hệ thống nhúng
  6. Smart Card
  7. Robot
  8. Game App

Các kiểu của Java App

Có 4 kiểu ứng dụng chính của java app:

1) Standalone App

Standalone App cũng được biết đến như Desktop App hoặc Window-based App. Để tạo ra ứng dụng kiểu này người ta thường sử dụng AWT, Swing hoặc JavaFX framework.

2) Web App

Web App là ứng dụng chạy trên server và tạo được các trang động. Hiện nay, servlet, jsp, struts, jsf, spring… là những công nghệ được sử dụng để tạo Web App trong java.

3) Enterprise App

Một ứng dụng dạng như Banking App, có lợi thế là tính bảo mật cao, cân bằng tải (load balancing) và clustering. Trong java, EJB được sử dụng để tạo các Enterprise App.

4) Mobile App

Mobile App là ứng dụng được tạo ra cho các thiết bị di động. Hiện nay Android và Java ME được sử dụng để chạy các ứng dụng này.

Java chắc chắn là có mặt ở khắp mọi nơi. Nhưng liệu nó có nằm trong sơ yếu lý lịch xin việc của bạn hay không ? 😀

5 BÌNH LUẬN

    • Hi bạn 😀 ,
      Java là một ngôn ngữ lập trình không phải platform bạn ạ. Nếu bạn muốn học lập trình di động thì có rất nhiều ngôn ngữ cho bạn chọn.
      Java
      Dựa vào chỉ số TIOBE, Java là ngôn ngữ lập trình phổ biến nhất tính đến tháng sáu năm 2017. Nếu bạn đang có ý định xây dựng một ứng dụng Android, tỉ lệ lớn là bạn sẽ làm việc với Java. Với một cộng đồng developer lớn mạnh được thành lập từ khá lâu, bạn sẽ dễ dàng nhận được sự hỗ trợ và giúp đỡ về chuyên môn.
      Vậy nên khi bạn phát triển ứng dụng di động bằng Java, bạn có thể thỏa sức sáng tạo để xây dựng bất kì loại ứng dụng nào mà bạn muốn. Hạn chế duy nhất chỉ có thể chính là sức sáng tạo của bạn hay sự hạn chế trong kiến thức của bạn về Java.
      Kotlin
      Kotlin là ngôn ngữ lập trình được phát triển bởi JetBrains, một công tyCộng Hòa Czech phát triển ItelliJ IDEA, một IDE khá nổi tiếng. Đội ngũ lập trình Android của Google gần đây đã thông báo về việc họ đang chính thức thêm hỗ trợ cho Kotlin.
      Kotlin được phát triển để giải quyết một vài vấn đề tồn tại trong Java. Theo đa số người ủng hộ việc dùng Kotlin, thì syntax của nó đơn giản và gọn hơn, do đó ít dẫn tới xảy ra việc dòng code rườm rà, dài dòng. Điều này có tác dụng giúp người viết tâp trung trong việc giải quyết vấn đề hơn là cố xoay sở với những câu lệnh dài dòng phức tạp. Ngoài ra, bạn còn có thể kết hợp Kotlin và Java cùng nhau trong dùng một dự án, khai thác hết thế mạnh của cả 2 ngôn ngữ.
      Các ngôn ngữ lập trình iOS
      Swift
      Nếu bạn muốn phát triển cho iOS, thì Swift là ngôn ngữ dành cho bạn. Được giới thiệu năm 2014 và tuyên bố là mã nguồn mở năm 2015, Swift nhanh chóng tiếp cận với các nhà phát triển mobile. Nó rất thịnh hành, đặc biệt trong giới khởi nghiệp phát triển các ứng dụng iOS.
      Apple đã bổ sung vào nhiều tính năng tuyệt vời cho ngôn ngữ, như syntax đơn giản, khả năng tìm kiếm lỗi lập trình dễ dàng, vân vân. Nỗ lực to lớn này của Apple để quảng bá Swift rõ ràng nhằm mục đích muốn phát triển ngôn ngữ này trở thành ngôn ngữ phổ biến chủ lực cho cả hệ thống phát triển ứng dụng của hãng.
      Objective-C
      Objective-C là ngôn ngữ phát triển ban đầu dành cho iOS. Mặc dù Swift gần đây được nhiều người biết đến như là tương lai phát triển của các ứng dụng iOS, nhưng nhiều dự án đã và đang sử dụng Objective-C. Do đó, việc dịch chuyển từ Objective-C sang hẳn Swift sẽ phải cần thời gian, và đôi khi bạn cần đến cả hai cho những dự án hiện tại.
      Các ngôn ngữ đa nền tảng (cross-platform)
      JavaScript
      Javascript có lịch sử từ những ngày ra đời World Wide Web. Là một ngôn ngữ phổ biến cho cả front-end và phía server, nó giúp cho các web developer có toàn quyền phát triển cả về mặt tương tác người dùng với trang web và xây dựng hoàn chỉnh toàn bộ ứng dụng web.
      Ngày nay, một vài Javascript framework được xây dựng nhằm nhắm tới việc phát triển riêng cho nền tảng di động, cụ thể như Ionic 2 và React Native. Sử dụng các framework và thư viện này giúp cho việc phát triển các ứng dụng di động đa nền tảng trở nên khá dễ dàng. Điều này đồng nghĩa với việc bạn chỉ cần viết một lần, nó sẽ chạy được trên cả iOS và Android.
      TypeScript
      TypeScript là một superset của JavaScript, có tính an toàn hơn thông qua việc hỗ trợ kiểu tĩnh (static type). Nó cũng cung cấp nhiều hỗ trợ cho việc phát triển các ứng dụng quy mô lớn (large-scale). Được phát triển và duy trì bởi Microsoft, TypeScript cho phép các nhà phát triển ứng dụng viết các ứng dụng di động đa nền tảng bằng việc sử dùng các framework như NativeScript.
      Các ngôn ngữ khác
      C#
      C# là một ngôn ngữ lập trình cho Windows Mobile. Nó cũng khá tương tự C++ và Java. Microsoft đã duy trì nhiều đặc tính của Java để đơn giản hóa mô hình, trong khi vẫn duy trì thiết kế theo giống C++. C# cũng có một cộng đồng lập trình viên đang hoạt động, rất thân thiện và rất hữu ích.
      C
      C là ngôn ngữ lập trình phổ biến thứ hai theo chỉ số TIOBE, và cũng như Java, cộng đồng ngôn ngữ này gồm đa số người rất nhiều kinh nghiệm có thể trao cho bạn những lời khuyên hữu ích để sản phẩm của bạn ít gặp bug hơn.
      Được phát triển bởi Dennis Ritchie trong khi ông đang làm việc ở Bell Labs, C là một ngôn ngữ được chấp nhận rộng rãi và cho phép bạn làm việc trực tiếp với cả những câu lệnh máy tính low-level. Nếu bạn muốn dùng Android NDK (Native Development Kit), bạn sẽ cần phải làm quen với ngôn ngữ C.
      C ++
      Nếu bạn đã quen thuộc với C, thì bạn sẽ thật sự sẽ thích đọc và viết code bằng C++. C++ được mở rộng từ C, với nhiều tính năng high-level hơn và hỗ trợ lập trình hướng đối tượng. C++ cũng là một ngôn ngữ ưa thích của các nhà phát triển ứng dụng Android. Bạn cũng có thể sử dụng C++ để phát triển ứng dụng mobile cho Windows. C++ đi song song với Java trong lĩnh vực phát triển phần mềm, và nó thực sự đáng để nhiên cứu và nâng cao.
      Python
      Python là một ngôn ngữ lập trình khác rất dễ học và dễ đọc. Người tạo ra ngôn ngữ đã cố gắng hết sức để giữ cho cú pháp đơn giản và rõ ràng nhất có thể. Điều này thực sự giúp các developer chưa có kinh nghiệm làm quen và duy trì mức năng suất cao, từ ngày đầu tiên. Nếu bạn cảm thấy thoải mái khi viết code với Python, thì bạn có thể sử dụng các framework như Kivy để phát triển ứng dụng di động đa nền tảng.
      Ruby
      Ruby là một ngôn ngữ lập trình kịch bản (scripting language) hướng đối tượng, chịu ảnh hưởng của Ada, C ++, Perl, Python và Lisp. RubyMotion là một framework tuyệt vời để phát triển ứng dụng di động đơn thuần và đa nền tảng bằng Ruby. Khá dễ dàng để tìm hiểu Ruby, nhờ cú pháp gọn gàng tập trung vào tính đơn giản và hiệu suất.
      ….

      • Ý mình là dùng Platform của JS thì tiện hơn là học Java để xây dựng từ đầu. Mình muốn hỏi mình là WordPress Developer mình muốn xây dựng 1 app mobile từ WordPress API thì ngôn ngữ hay Platform nào là tiện nhất ạ

        • Hi bạn, nếu bạn là WP Dev thì chắc hẳn bạn cũng biết WordPress REST API.
          Trước WordPress phiên bản 4.7 thì muốn có REST API bạn phải cài các Plugin hỗ trợ, tuy nhiên các phiên bản sau này nó đã được WordPress tích hợp sẵn và bạn không cần phải cài bất cứ Plugin nào.
          Các REST API WordPress trả về các định dạng dữ liệu Json (JavaScript Object Notation), giúp người dùng có thể lấy dữ liệu hoặc cập nhật dữ liệu từ các ứng dụng khác mà không cần phải kết nối trực tiếp đến dữ liệu của website. Với REST API WordPress chúng ta có thể tạo ra các ứng dụng sử dụng dữ liệu Json của WP REST API, các ứng dụng như winform để quản lý,…
          Qua thông tin trên và bạn sẽ nhận thấy bản thân mình có những thế mạnh về những ngôn ngữ nào để lập trình app qua đó mới quyết định được ngôn ngữ tiện nhất. Ví dụ: với Javascript thì bạn dùng react native,với Dart language thì bạn dùng flutter …
          Thông tin thêm:
          REST API mặc định của WordPress chỉ có khả năng tác động dữ liệu đến các thành phần mặc định như post, page, taxanomy, comment, user, settings,… mà không thể tác động đến các dữ liệu của plugin khác. Ví dụ Woocommerce, tuy nhiên nếu bạn sử dụng các plugin như Woocommerce thì nó cũng sẽ cung cấp cho bạn các REST API để sử dụng.

BÌNH LUẬN

Vui lòng nhập bình luận của bạn!
Vui lòng nhập tên của bạn ở đây