2010-02-01 39 views
8

Tôi chỉ tình cờ gặp thư viện nguồn Adobe, ASL. Nó được thiết lập các mẫu và chức năng tương tự như tăng cường, theo giấy phép MIT. Một số tiện ích trong thư viện tôi thấy khá hữu ích và bây giờ tôi xem xét sử dụng nó. Tuy nhiên,C++ Số lần hiển thị thư viện nguồn Adobe?

thư viện có vẻ khá đơn giản.

  • Bạn đã tự sử dụng ASL chưa? nếu có, ấn tượng của bạn là gì? để bạn đề nghị đó?
  • hoạt động tốt với một loạt các trình biên dịch và nền tảng, ví dụ: IBM C++, ICC, g ++?
  • bạn có gặp phải những điều kỳ quặc/những điều bất ngờ không?

nhờ

+0

Tôi không biết liệu sự phát triển chính thức có được chuyển hay không, nhưng bạn có thể quan tâm đến https://github.com/stlab/adobe_source_libraries. –

+1

@MaxLybbert: Có, phát triển chính thức đã chuyển sang GitHub. – fbrereto

Trả lời

9
  1. ASL sử dụng Tăng nặng nề, vì vậy nó không như vậy tương tự để tăng cường, như (trong một số trường hợp) một wrapper tương đối mỏng xung quanh Boost.
  2. Các phần "lớn" của ASL là Adam và Eve. Hầu hết các phần còn lại dường như là (và nếu bộ nhớ phục vụ, thực sự ) ít hơn hỗ trợ cho những người.
  3. ASL không được cập nhật trong một thời gian và nếu tôi không nhầm một số nội dung cung cấp trong trình bao bọc, Boost giờ đây đã được tích hợp vào thư viện Boost (hầu hết các tác giả Boost đã biết ASL ít nhất là từ chúng xuất hiện trong bài thuyết trình chính của Sean Parent tại Boostcon 1).

Trải nghiệm của riêng tôi với chúng đã hơi bị lẫn lộn. Tại một thời điểm, tôi đã sử dụng một vài lớp Boost-wrapper của họ một chút, nhưng IIRC, trong bản phát hành tiếp theo hoặc hai, các bit mà tôi quan tâm có sẵn trong Boost mà không có bất kỳ trình bao bọc nào (mặc dù vậy, tôi không nhớ chính xác những miếng đó là ...)

Adam và Eve thật tuyệt vời khi chơi với các bố cục giao diện người dùng khác nhau - nhưng tôi chưa bao giờ sử dụng chúng cho phiên bản hoàn chỉnh của chương trình. Ít nhất với tôi, có vẻ như chúng hữu ích chủ yếu với giao diện người dùng tương đối phức tạp. Ấn tượng của tôi là nếu bạn thấy chúng rất hữu ích, giao diện người dùng của bạn có thể cần công việc. Nếu bạn cần Adam và Eve để giúp hiểu những gì đang xảy ra, rất có thể người dùng của bạn không thể tìm ra được.

OTOH, có thể ít nhất một vài trường hợp trong đó hộp thoại rõ ràng đối với người dùng, nhưng mã ít hơn nhiều so với nhà phát triển. Nếu bạn vô hiệu hóa một số điều khiển cho đến khi các giá trị được nhập vào trong các điều khiển khác, điều đó có thể làm cho nó dễ dàng hơn nhiều để đảm bảo các điều khiển bị vô hiệu hóa cho đến khi tất cả các giá trị mà chúng phụ thuộc đã được nhập vào.

4

Như đã lưu ý, toàn bộ điểm của ASL là Adam và Eve, phần còn lại chỉ là các công cụ tiện dụng.

Adam & Eve làm việc cùng nhau để mô tả giao diện người dùng với bố cục tự động theo cách đa nền tảng. Nếu đây không phải là những gì bạn cần, thì có lẽ bạn không nên dành nhiều thời gian cho ASL.

Eve có bộ sưu tập điển hình của các vùng chứa dọc/ngang/khác để bố cục tự động.

Và kịch bản với Adam cho phép bạn đạt được những điều khó khăn (nếu không thể) để đạt được chỉ với container bố trí (ví dụ như giữ các nhóm riêng biệt của điều khiển cùng kích thước).

Đúng, bạn triển khai một số quy tắc trong mã C++ của mình. Nhưng nó có ý nghĩa để lưu trữ các quy tắc mô tả giao diện người dùng liên quan đến hành vi giao diện người dùng trong cùng một vị trí nơi bạn lưu trữ giao diện người dùng để bắt đầu.

Các vấn đề liên quan