Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress
Code

5 IDEs Tốt Nhất Cho Phát Triển WordPress (và Lý Do)

by
Difficulty:BeginnerLength:LongLanguages:

Vietnamese (Tiếng Việt) translation by Andrea Ho (you can also view the original English article)

Tôi đã phát triển WordPress trong khoảng mười năm và trong suốt thời gian đó, tôi đã dùng qua khá nhiều môi trường phát triển tích hợp (IDEs). Dĩ nhiên có không ít lựa chọn ngày nay, với hàng tá những trình biên tập và IDEs đang hiện có. (Chúng ta sẽ nhanh chóng chỉ ra sự khác biệt giữa trình biên tập và IDE )

Vài IDEs được miễn phí, một số khác là dành cho thương mại. Cơ bản một vài cái khá đơn giản, trong khi những cái khác hầu như có thể làm mọi thứ mà bạn muốn. Sự phong phú trong chọn lựa thật tuyệt kiểu như bạn tất nhiên sẽ tìm được một cái phù hợp với cách làm việc của mình và gồm cả những tính năng bạn đang tìm kiếm.

IDE bạn quyết định chọn để làm việc với một dự án cụ thể thường là lựa chọn của cá nhân. Nếu bạn sử cùng một IDE cho các dự án và nó hiệu quả với bạn thì bạn có lẽ sẽ chả có lý do gì sử dụng một cái khác nữa. Tuy nhiên, có lẽ sẽ đáng thử một chọn lựa mới một lần xem. Bạn có mất gì đâu cơ chứ? Nếu kết quả giúp quá trình được cải thiện vậy chắc chắn là xứng đáng rồi.

Nếu bạn mới bắt đầu lập trình WordPress thì hơi khó chọn IDEs để làm việc. Quá nhiều chọn lựa xem ra cũng là một bất cập. Trong bài viết này, tôi hy vọng sẽ giúp chọn lựa này dễ dàng hơn một chút khi điểm qua năm IDEs hiện thời dẫn đầu phù hợp để phát triển web.

Không có thứ tự ưu tiên cụ thể nào, những IDEs đó là:

  • PhpStorm
  • Sublime Text 3
  • Atom
  • Coda 2
  • NetBeans

Chúng ta sẽ lần lượt tiếp cận với từng cái một trong số năm IDEs, để xem chúng có thể giúp bạn thế nào trong khi phát triển những dự án WordPress. Nhưng đầu tiên, hãy tìm hiểu xem chính xác IDE có nghĩa là gì.

Rốt Cuộc IDE là Gì?

Dựa theo Wikipedia, IDE được định nghĩa là:

Môi trường phát triển tích hợp (IDE) là một phần mềm ứng dụng cung cấp những tiện ích toàn diện cho lập trình viên máy tính phát triển phần mềm. Một IDE thường gồm một trình biên tập mã nguồn. các công cụ dựng phần mềm tự động và một cơ chế phát hiện lỗi.

Tách biệt ra thì cơ bản IDE là một môi trường lập trình bạn có thể dùng để phát triển phần mềm mà không cần các công cụ hỗ trợ khác. Hãy xem nó như một kiểu dao tổng hợp của Thuỵ Sĩ cho việc phát triển phần mềm. Mọi thứ bạn cần đều có, trong tầm tay, để giúp bạn hoàn thành công việc.

Không giống hầu hết các trình biên tập, một IDE thường hỗ trợ cho toàn dự án hơn là chỉ xử lý những tập tin mã nguồn riêng lẻ. Thậm chí một trình biên tập có khả năng chỉnh sửa nhiều tập tin mã nguồn, thì có lẽ cũng không hỗ trợ tạo ra một tập tin dự án chứa một thư mục có nhiều tập tin, cùng với những thiết lập cụ thể cho dự án đó. Những thiết lập này gồm có tham chiếu đến các thư viện phần mềm ngoại tuyến, cài đặt trình biên tập, quản trị phiên bản, và các thông số debug (phát hiện lỗi).

Quyết định sử dụng IDE nào là chủ quan khi điều này phụ thuộc vào các tính năng mà bạn tìm kiếm, nhưng một vài tính năng bạn mong muốn tìm được trong một IDE đúng nghĩa có thể gồm có:

  • Hỗ trợ đa ngôn ngữ lập trình (PHP, JS, CSS, HTML)
  • Tự hoàn tất mã nguồn
  • Refactoring
  • Linting
  • Debugger - Tìm và khắc phục lỗi
  • Build automation
  • Tích hợp SVN/Git
  • Code sniffing
  • Code highlight
  • Compiler
  • Interpreter
  • Quản trị/điều chỉnh Cơ Sở Dữ Liệu

Không có những luật lệ ràng buộc nào để xác định chính xác một IDE. Và nếu bạn hỏi các nhà phát triển khác nhau về các tính năng mà họ muốn IDE phải có, thì có khả năng bạn sẽ nhận được nhiều phản hồi rất phong phú. Một ứng dụng càng có nhiều tính năng như trong danh sách bên trên, được tích hợp sẵn hoặc ở dạng add-on (cài đặt mở rộng), thì ứng dụng đó càng gần với định nghĩa của một IDE hơn.

Thoáng nhìn, có lẽ bạn để ý rằng vài IDEs trong bài hướng dẫn này không phải là IDEs đúng nghĩa, có những trình biên tập tưởng như là IDEs. Vậy tại sao lại đưa chúng vào danh sách? À, những trình biên tập đặc biệt này đã trở nên cực phổ biến cho phát triển web và có cộng đồng người dùng mạnh mẽ đã mang đến sự đa dạng những thư viện, bản mở rộng, và tiện ích, thực sự đã tiến triển để biến chúng từ những trình biên tập thành những IDEs đáng sử dụng.

Hãy xem chúng như những IDEs thu gọn. Nhanh, mạnh mẽ, và có thể linh hoạt cấu hình. Nhớ đến ý tưởng dao của quân đội Thuỵ SĨ trước đó không? Tôi nghĩ nó thậm chí còn nhiều khả năng hơn. Sublime Text 3, Coda 2, và Atom là những hình mẫu xuất sắc của những loại hình IDEs này. Chúng không phải là những IDEs truyền thống, nhưng có thể đáp ứng tốt nhu cầu sử dụng khi được tuỳ chỉnh đúng cách.

Có nhiều lợi điểm khi chọn một trình biên tập nhỏ gọn hơn là một IDE toàn diện. Điển hình, bạn muốn chúng khởi động và vận hành nhanh hơn khi chúng là những ứng dụng nhỏ hơn và sẽ ít bị quá tải xử lý. Bạn sẽ biết ý tôi muốn nói nếu bạn đã từng mở một IDE với một dự án lớn và bạn phải chờ khá lâu để ứng dụng khởi động và index tất cả các tập tin trước khi bạn có thể bắt đầu chỉnh sửa!

So sánh với một trình biên tập gọn hơn chỉ gồm những tính năng bạn cần. Điều này là kết quả của một IDE không chứa quá nhiều chức năng bạn có thể không bao giờ sử dụng. Điều này giúp việc cài đặt phát triển gọn và nhanh hơn. Nếu bạn có một cỗ máy siêu nhanh, bạn có lẽ không nhận ra nhiều khác biệt qua mỗi ngày giữa một IDE và một trình biên tập được cấu hình cẩn thận. Tuy nhiên, nếu bạn không sở hữu cỗ máy xa xỉ đó, thì hiệu năng của IDE có thể là một yếu tố quan trọng trong mỗi ngày làm việc.

Vì những lý do này, chúng tôi đã quyết định pha trộn danh sách này một chút và bao gồm cả những IDEs toàn diện và IDEs nhỏ gọn, điều này có thể thu hút những nhà phát triển WordPress với yêu cầu và mong đợi đa dạng.

Hãy bắt đầu hành trình của IDE bằng PhpStorm.

PhpStorm

PhpStorm

PhpStorm là một IDE thương mại của JetBrains, và thực sự kiêu hãnh với một loạt tính năng ấn tượng đầy sáng tạo. Một tính năng thu hút tức thời của PhpStorm là sự hỗ trợ cho việc phát triển WordPress mà không cần đến các add-on (cài đặt mở rộng). PhpStorm sẽ tự động phát hiện dự án của bạn có phải là về WordPress không. Thậm chí còn có một loại dự án được xây dựng sẵn để giúp bạn dễ dàng phát triển plugin cho WordPress hơn.

Với hỗ trợ dành cho WordPress, bạn hoàn toàn có gợi ý hoàn tất mã nguồn cho tất cả cái hàm cục bộ của WordPress, kèm thêm nhưng action và filter để hoàn tất mã nguổn. Bạn có thể di chuyển nhanh chóng tự định nghĩa của hàm và các dùng của các hàm cụ thể, điều này rất hữu dụng. PhpStorm có hỗ trợ cho WordPress tốt nhất trong số các IDEs được đề cập.

Với người mới dùng, số lượng tính năng có trong PhpStorm có thể hơi nhọc nhặn một chút cho người mới bắt đâu. Nhưng đáng giá khi kiên trì theo đuổi, PhpStorm có những tài liệu và video hướng dẫn xuất sắc qua trang web PhpStorm.

Bởi vì PhpStorm có quá nhiều tính năng, điều này có thể khiến nó mất thời gian để khởi động, đặc biệt cho dự án WordPress khi có hàng trăm tập tin được chỉ mục cho tính năng Code Completio để làm việc đúng đắn. Tuy nhiên, một khi được tải đầy đủ. PhpStorm cho cảm giác thích ứng rất tốt khi điều chỉnh tập tin, không bị run giật. Một điểm đáng chú ý của PhpStorm là mức cập nhật thường xuyên với bản vá lỗi và những tính năng mới. Thậm chí dù đã xuất bản từ năm 2009, PhpStorm vẫn có chu trình phát hành cực mạnh, điều này rất đáng khích lệ.

Và đừng bị lung lạc bởi tên gọi -- PhpStorm không chỉ dành cho phát triển PHP (hỗ trợ toàn diện cho PHP 7). Nó cũng có những phần hỗ trợ dựng sẵn cho HTML, JavaScript và CSS, đó là những phần chủ chốt để phát triển trang WordPress hiện đại.

Thông Tin Chi Tiết PhpStorm: 

  • Website: https://www.jetbrains.com/phpstorm/
  • Thương Mại Hoá: Có (Miễn Phí 30 ngày dùng thử)
  • Lần Đầu Ra Mắt: 2009
  • Cập Nhật Thường Xuyên: Có
  • Hỗ Trợ Tiện Ích Mở Rộng: Có - Plugins
  • Được xây dựng bằng Java
  • Hỗ Trợ Đa Nền Tảng: Có

Sublime Text 3

Sublime Text 3

Kế tiếp trong danh sách là Sublime Text 3, phát triển bởi Jon Skinner. Sublime Text 3 được chứng minh là một chọn lựa tuyệt vời bởi những chuyên gia phát triển web. Qua nhiều năm, Sublime Text 3 đã có số lượng người ủng hộ đáng kể với giao diện người dùng mạnh mẽ, mượt mà và rất nhanh. Nó cũng nổi tiếng là cực kỳ ổn định và có thể xử lý các tập tin lớn dễ dàng trong khi các trình biên tập khác vẫn gặp khó khăn khi đương đầu.

Thú vị thay, khi đã phổ biến, Sublime Text 3 vẫn chưa phát hành thêm một phiên bản lớn nào trong vài năm trở lại.  Tại thời điểm viết bài này, Sublime Text 3 vẫn ở phiên bản beta, nhưng đó là bản beta được phát hành lần đầu vào năm 2013! Và hiện giờ vẫn chưa có tin tức gì cho một bản phát hành lớn!

Khi khởi động, Sublime Text 3 mở rất nhanh. Thực tế, gần như là tức thời. Nó cũng vận hành rất nhanh, không chập chờn và trục trặc gì, điều này tạo nên trải nghiệm chỉnh sửa cực kỳ trơn tru và hiệu quả. Sublime Text 3 gần như tối giản hết cỡ và nổi bật với một trình quản lý package để cài đặt add-on (viết bằng Python) mà không cần phải khởi động lại trong đa số các trường hợp (một chi tiết thú vị).

Như đã đề cập phía trên, nó xử lý những tập tin kích thước lớn cực kỳ tốt và rất nhanh, nghĩa là không dễ xảy ra lỗi. Có một số lượng lớn những add-ons mạnh mẽ (được gọi là packages) làm cho Sublime Text 3 trở nên rất linh hoạt và đa năng. Đó gồm những packages đặc trưng cho việc phát triển WordPress. Không thể phủ nhận rằng Sublime Text 3 hoàn toàn  dễ chịu khi sử dụng.

Bạn cũng có thể tìm thấy một lượng lớn các bài viết và video hướng dẫn về Sublime Text 3, gần như được cập nhật liên tục. Điều này minh chứng rằng Sublime Text 3 vẫn rất phổ biến và được sử dụng rộng rãi bởi nhiều nhà phát triển web trong công việc hằng ngày, cũng bảo chứng cho chất lượng của trình biên tập nhỏ gọn tuyệt vời này.

Thậm chí dù Sublime Text vẫn đang rất phổ biến hiện nay. thì vẫn có khả năng nó sẽ mất đi vị thế này qua vài năm kế tiếp. Tuy nhiên, nếu thư viện package của Sublime Text 3 tiếp tục phát triển mạnh vậy thì sự thiếu vắng của một bản phát hành lớn có lẽ cũng không quan trọng trong một giai đoạn ngắn.

Bạn nên thử sử dụng Sublime Text 3. Bạn có thể đánh giá để dùng miễn phí với thời gian không giới hạn.

Thông Tin Chi Tiết Sublime Text 3:

  • Website: https://www.sublimetext.com/
  • Thương Mại Hoá: Miễn Phí Để Đánh Giá (yêu cầu bản quyền để tiếp tục sử dụng)
  • Lần Đầu Ra Mắt: 2008
  • Thường Xuyên Được Cập Nhật: Không
  • Hỗ Trợ Các Bản Mở Rộng: Có - Packages
  • Được xây dựng bằng C++, Python
  • Hỗ Trợ Đa Nền Tảng: Có

Atom

Atom

Được phát triển bởi GitHub, Atom là đứa trẻ trong số những IDEs mà chúng ta đề cập. Phát hành năm 2014, Atom là một trong những trình biên tập phổ biến tại thời điểm này và có cộng đồng người sử dụng đang tăng nhanh.

Sự phổ biến này có thể xứng đáng, với thực tế rằng Atom là mã nguồn mở và nhờ cộng đồng vận động. Đóng góp vào Atom có quá trình tương tự như với WordPress khi mọi người đều có thể đóng góp phát triển mã nguồn cốt lõi, miễn sao tuân theo các hướng dẫn là được. Và vì Atom được công khai lưu trữ trên GitHub, việc đóng góp này rất dễ dàng nếu bạn quen thuộc với các repo của Git.

Atom cũng có số lượng thư viện add-on khổng lồ, với hơn 6000 mục đang hiện có trên trang package chính thức của Atom. Điều này nghĩa là bạn có cơ hội tìm thấy một package để thực hiện điều bạn yêu cầu. Cũng có một lượng lớn các package giúp việc phát triển đặc trưng cho WordPress trở nên dễ dàng.

Tương tự như Sublime Text, Atom hỗ trợ đầy đủ cho các dự án cũng như chỉnh sửa các tập tin đơn lẻ. Và có những phần hỗ trợ được tích hợp sẵn để quản trị Git, và không ngạc nhiên mấy vì Atom được phát triển bởi GitHub mà!

Khá là cơ bản cũng giống như với Sublime Text 3, cho đến khi bạn bắt đầu cấu hình Atom. Các bản cập nhật xuất bản thường xuyên, nhưng bạn mong đợi điều đó từ một trình biên tập khá mới mẻ.

Vài người dùng đã báo cáo trải nghiệm thời gian tải chậm và hiệu năng chấp vá khi đang chỉnh sửa, đặc biệt khi đối phó vói những tập tin có kích thước lớn. Atom được phát triển bằng JavaScript là điều đáng tranh luận.  Ngược lại Sublime Text được phát triển bằng C++, vốn cơ bản đã vận hành rất nhanh. Chỉ có thời gian mới cho biết liệu các phiên bản sắp tới của Atom có thể nhắc đến những vấn đề này. Dù sao nó cũng đáng ghi nhớ rằng nền tảng mã nguồn của Atom vẫn còn khá non trẻ và có nhiều thời gian để trở nên vững mạnh.

Nhìn chung tổng thể, Atom là một trình biên tập nhỏ khá tuyệt mà bạn có dễ dàng cấu hình cho việc phát triển WordPress. Không ngạc nhiên lắm khi Atom nhận được rất nhiều sự đồng thuận, và sẽ thật sự thú vị khi theo dõi Atom trưởng thành ra sao qua vài năm tiếp theo. Atom dĩ nhiên là một trình biên tập mà bạn nên dõi theo!

Thông Tin Chi Tiết Atom:

  • Website: https://atom.io/
  • Thương Mại Hoá: Không (Miễn Phí 100%)
  • Lần Đầu Ra Mắt: 2014
  • Thường Xuyên Cập Nhật: Có
  • Hỗ Trợ Các Bản Mở Rộng: Có (Packages)
  • Được xây dựng bằng JavaScript
  • Hỗ Trợ Đa Nền Tảng: Có

Coda 2

Coda 2

Coda được phát hành lần đầu vào 2007, trước Sublime Text chỉ một năm. Code đã có số lượng lớn người dõi theo qua nhiều năm, chia sẻ nhiều thị phần phát triển web chuyên nghiệp với Sublime Text trên máy tính Mac. Đây là điểm yếu lớn nhất của Coda - thậm chí mười năm sau khi phiên bản đầu tiên, vẫn không có bản hỗ trợ hệ điều hành Windows. Đây là trình biên tập duy nhất trong danh sách đề cập không có hỗ trợ đa nền tảng.

Điều này có tác động tiêu cực đến sự phổ biến của Coda? Thật khó để nói vậy, nhưng thật hiếm hoi để tìm thầy một ứng dụng phát triển web chỉ dành cho riêng Mac hoặc Windows. Dẫu sao điều này cũng đáng tiếc khi Coda là một trình biên tập tuyệt vời. Tính năng của trình biên tập bao gồm một terminal cục bộ dựng sẵn và bộ quản lý mã nguồn, cũng như có một FTP client và trình chỉnh sửa MySQL tích hợp sẵn. Coda 2 cũng hỗ trợ plugins để mở rộng chức năng, gồm các plugins đặc trưng cho việc phát triển WordPress. Tuy nhiên, không rõ bao lâu thì những add-ons này được cập nhật. Điều này có thể tác động đến sự hữu dụng của trình biên tập nếu các add-ons đó trở nên quá lỗi thời so với các add-ons mà các trình biên tập khác mang đến.

Mặc dù Code 2 thường xuyên được cập nhật, đó chủ yếu là những bản vá lỗi, và cũng chưa có một bản phát hành lớn trọng những năm gần đây. Code 3 có vẻ cần thêm một khoảng thời gian nữa, xét theo phản hồi này tới yêu cầu của một người dùng. Tuy nhiên, quan trọng là nhớ rằng đó không phải là điều cần phải quá lo. Sublime Text 3 vẫn đang chính thức ở bản beta và vẫn đang rất phổ biến.

Không có gì phải nghi ngờ, Coda 2 là một chọn lựa rất tốt cho một trình biên tập mã nguồn. Tuy có hơi lâu đời một chút, nhưng tôi vẫn khuyến khích bạn thử qua Coda trước khi bạn quyết định chọn IDE nào để sử dụng. Đặc biệt, nếu bạn là một người dùng macOS!

Thông Tin Chi Tiết Code 2 

  • Website: [https://panic.com/coda/]
  • Thương Mại Hoá: Có (Miễn Phí 7 ngày dùng thử)
  • Lần Đầu Ra Mắt: 2007
  • Thường Xuyên Được Cập Nhật: Có
  • Hỗ Trợ Các Bản Mở Rộng: Có - Plugins
  • Được xây dựng bằng: (Không Rõ)
  • Hỗ Trợ Đa Nền Tảng: Không

NetBeans

Netbeans

NetBeans đã tồn tại một thời gian dài (từ giữa những năm 1990) nhưng vẫn thịnh hành và có thể cạnh tranh với những IDEs mới hơn. Giống như PhpStorm, NetBeans được phát triển bằng Java và vận hành được trên nhiều nền tảng. Phần cốt lõi của ứng dụng NetBeans được cấu tạo bởi nhiều module (mô-đun) để bổ sung các tính năng cho IDEs để hỗ trợ việc phát triển web.

NetBeans đã trở thành một IDE được nhiều nhà phát triển web tin yêu trong nhiều năm như một trong những IDEs đầy đủ tính năng nhất hiện thời. Sự cạnh tranh chủ yếu suốt thời gian này là từ ứng dụng Dreamweaver, hiện giờ đang được phát triển bởi Adobe nhưng không còn quá phổ biến như trước đây. Thế tại sao NetBeans vẫn tiến triển mạnh như vậy?

Được phát triển bằng Java tức là tương thích đa nền tảng ngay từ đầu, và dùng miễn phí làm NetBeans trở nên cực hấp dẫn với người dùng, và cũng có nghĩa là nhận được nhiều lời khuyến nghị sử dụng từ những người có nhiều năm dùng nó.

NetBeans rất phù hợp với dự án về WordPress. Bạn sẽ có những gợi ý mã nguồn (code hinting) và nổi bật mã nguồn (highlighting), có thêm định vị mã nguồn (code navigation), nhưng bạn cũng có cơ chế phát hiện lỗi (debugger) và vá lỗi mạnh mẽ, cực kỳ ấn tượng với một sản phẩm miễn phí 100%. Có rất nhiều add-on cho việc tích hợp gần hơn với WordPress, điều này làm cho việc phát triển themes và plugins dễ hơn nhiều.

Các bản cập nhật cho NetBeans dường như có chút suy giảm những năm gần đây, với mỗi năm một lần cập nhật kể từ 2014. Tuy nhiên, phiên bản chủ chốt (NetBeans 9) dự kiến vào tháng 7 2017 để xuất hiện cùng lúc với phiên phát hành của JDK9. NetBeans cũng hỗ trợ PHP 7 kể từ phiên bản 8.2, nên nếu bạn cần phát triển với phiên bản PHP mới nhất thì Netbeans đáp ứng được cho bạn đấy.

Thông Tin Chi Tiết NetBeans:

  • Website: https://netbeans.org/
  • Thương Mại Hoá: Không (Miễn Phí)
  • Lần Đầu Ra Mắt: 1996 (tên nguyên gốc là Xelfi)
  • Thường Xuyên Được Cập Nhật: Có
  • Hỗ Trợ Các Bản Mở Rộng: Có - Modules
  • Được xây dựng bằng Java
  • Hỗ Trợ Đa Nền Tảng: Có

Những IDEs và Trình Biên Tập Khác Cho Phát Triển WordPress

Như đã đề cập trong phần giới thiệu, có rất nhiều IDEs khác bạn có thể dùng trong công việc phát triển. Bạn không phải giới hạn trong số những IDEs đã trình bày trong bài hướng dẫn này. Một vài chọn lựa khác bạn có thể xem qua: 

Tổng Kết

Trong bài hướng dẫn này, chúng ta đã xem qua năm trình biên tập và IDEs phổ biến cho phát triển web, và cụ thể cho phát triển WordPress. Bài viết thực sự dựa vào nhu cầu của bạn. Nếu bạn muốn duy trì trải nghiệm một trình biên tập gọn nhẹ thì hãy sử dụng các ứng dụng như Coda 2, Atom, hoặc Sublime Text 3 là một chọn lựa tốt khi bạn có thể cấu hình chúng để chỉ có những tính năng mà bạn cần.

Những tính năng đến từ PhpStorm là không thể phủ nhận - thực sự ấn tương. Nhưng không phải ai cũng cần đến tất cả những chức năng này ngay tức thời. Thực tế, những người phát triển sơ cấp có lẽ sẽ lướt qua và khiến khá nhiều tính năng của IDE này vào danh sách chờ được sử dụng. NetBeans đã xuất hiện được khoảng 20 năm và có nền tảng mã nguồn vững chãi nhất trong số các IDEs trong bài viết, khiến nó trở thành một chọn lựa đáng tin cậy.

IDE yêu thích bạn dùng phát triển WordPress là gì? Và tính năng nào là cần thiết với bạn trong quá trình làm việc hằng ngày? Nếu bạn sử dụng một trong số IDEs được điểm qua trong bài viết, bạn thích cái gì? Hãy cho chúng tôi biết trong phần bình luận bên dưới nhé.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.