Nhược điểm của nền tảng Force.com [đã đóng cửa]


89

Chúng tôi hiện đang xem xét việc sử dụng nền tảng Force.com làm nền tảng phát triển của mình và những người bán hàng và trang web force.com có ​​đầy đủ lý do tại sao nó là nền tảng tốt nhất trên thế giới. Tuy nhiên, những gì tôi đang tìm kiếm là một số bất lợi thực sự khi sử dụng một nền tảng như vậy.


Bài đăng này đã rất cũ, nhưng Salesforce vẫn hoàn toàn đáng sợ để phát triển. Thậm chí 8 năm sau, tôi vẫn thấy thật đáng kinh ngạc khi phải bỏ ra bao nhiêu thời gian và công sức để khắc phục những thiếu sót của nó.
NickJ

Câu trả lời:


142

Dưới đây là 10 để bạn bắt đầu.

  1. Apex là một ngôn ngữ độc quyền. Ngoài plugin force.com Eclipse, có rất ít hoặc không có công cụ nào như tái cấu trúc, phân tích mã, v.v.
  2. Apex được mô phỏng trên Java 5, được coi là bị tụt hậu so với các ngôn ngữ khác và không có công cụ (xem # 1), có thể khá cồng kềnh.
  3. Việc triển khai vẫn khá thủ công với rất nhiều lỗi và các bước thủ công. Tình trạng này đang dần được cải thiện theo thời gian, nhưng bạn sẽ thất vọng nếu bạn đã quen với việc triển khai tự động.
  4. Apex thiếu các gói / không gian tên. Tất cả các lớp, giao diện, v.v. của bạn đều nằm trong một thư mục trên máy chủ. Điều này làm cho mã kém tổ chức hơn nhiều và tên lớp / giao diện nhất thiết phải dài để tránh xung đột tên và cung cấp ngữ cảnh. Đây là một trong những phàn nàn lớn nhất của tôi và tôi sẽ không tự do chọn xây dựng trên force.com chỉ vì lý do này.
  5. "Force.com IDE", hay còn gọi là plugin force.com eclipse, cực kỳ chậm. Lưu bất kỳ tệp nào, cho dù đó là tệp lớp, tệp văn bản, v.v., thường mất ít nhất 5 giây và đôi khi lên đến 30 giây tùy thuộc vào số lượng đối tượng, kiểu dữ liệu, tệp lớp, v.v. trong tổ chức của bạn. Lưu cũng là một hành động chặn, không chỉ yêu cầu biên dịch mà còn phải đồng bộ hóa toàn bộ dự án cục bộ của bạn với máy chủ. Các lệnh có độ lớn chậm hơn Java hoặc .NET.
  6. Cộng đồng nhà phát triển trực tuyến dường như không được lành mạnh cho lắm. Tôi nhận thấy rất nhiều bài viết trên diễn đàn không được trả lời hoặc chưa được giải quyết. Tôi nghĩ rằng điều này có thể liên quan đến việc sử dụng phần mềm diễn đàn salesforce.com, điều này có vẻ khá khó khăn.
  7. DSL truy cập dữ liệu trong Apex để lại rất nhiều điều mong muốn. Nó thậm chí không thể cạnh tranh từ xa với các ứng dụng như (N) Hibernate, JPA, v.v.
  8. Phát triển ứng dụng trên Apex / VisualForce là một bài tập trong kỹ thuật giới hạn thống đốc. Dễ dàng dành một nửa thời gian lập trình viên để cố gắng tối ưu hóa để tránh nhiều giới hạn thống đốc và các vấn đề khác như giới hạn trạng thái chế độ xem visualforce. Có thể lập luận rằng nếu bạn viết mã hiệu quả để bắt đầu, bạn sẽ không gặp vấn đề này, điều này đúng ở một mức độ nào đó. Tuy nhiên, có nhiều lần bạn có lý do hợp lệ để thực hiện hơn x truy vấn trong một phiên hoặc lặp qua hơn x bản ghi, v.v.
  9. Chu kỳ lưu-> biên dịch-> chạy rất chậm, đặc biệt. khi nó liên quan đến việc nén và tải lên toàn bộ gói tài nguyên tĩnh chỉ để thực hiện một điều gì đó như kiểm tra một thay đổi CSS hoặc javascript nhỏ.
  10. Nói chung, nỗi đau của một nền tảng non trẻ, non trẻ mà không có lợi ích của nó là mã nguồn mở. Bạn không có cách nào để xác thực và / hoặc sửa lỗi trong nền tảng. Họ nói rằng hãy đăng nó lên IdeaExchange của họ. Vâng, chúc may mắn với điều đó.

Tuyên bố từ chối trách nhiệm / Tiết lộ: Có rất nhiều lợi ích đối với một nền tảng được lưu trữ như force.com. Force.com thường xuyên nâng cao nền tảng. Có rất nhiều thứ về nó mà tôi thích. Tôi kiếm tiền từ việc xây dựng trên force.com


4
Đó là một danh sách tuyệt vời mà bạn đã có
lomaxx

1
Tôi rất thích force.com nếu họ lưu trữ trang web được quản lý và tôi có thể lấy dữ liệu của mình, không chỉ các tính năng bổ sung hoặc thông qua một số API, mà còn bao gồm hàng đêm. sao lưu tập dữ liệu Oracle của tôi. Các nhân viên bán hàng có cung cấp điều này không? Tôi chưa bao giờ có thể nhận được câu trả lời thẳng thắn từ những người bán hàng của họ, điều mà tôi luôn coi là không.
Chris K

3
Họ không cung cấp cho bạn quyền truy cập "thô" vào dữ liệu của bạn. Có một dịch vụ sao lưu cung cấp cho bạn các CSV đã nén của tổ chức của bạn một cách thường xuyên. Ngoài ra còn có một api sao chép cho phép bạn giữ bản sao lưu song song của riêng mình trong thời gian thực giả.
Jeremy Ross

@Jeremy tò mò ... bạn dành bao nhiêu thời gian cho plugin eclipse Ide so với chỉ thiết lập mọi thứ trong menu "thiết lập" của ứng dụng salesforce?
lomaxx

1
Cá nhân tôi dành 90% thời gian của mình cho nhật thực hoặc trình soạn thảo văn bản (TextMate, trong trường hợp của tôi). Nhưng đó là bởi vì người khác thường thực hiện rất nhiều cấu hình dữ liệu cơ bản. Cấu hình của các đối tượng và trường tùy chỉnh được thực hiện trong salesforce.com, không phải mã, vì không có DDL trong thế giới force.com. Có một api siêu dữ liệu, nhưng tôi không bao giờ sử dụng nó trong quá trình thiết kế dữ liệu.
Jeremy Ross

38

Tôi thấy bạn đã có một số câu trả lời, nhưng tôi muốn nhắc lại lượng thời gian đã lãng phí để vượt qua các giới hạn thống đốc khác nhau trên nền tảng. Dù tôi thích nền tảng này ở một số cấp độ nhất định, tôi cũng rất muốn khuyên bạn nên sử dụng nó như một nền tảng phát triển ứng dụng nói chung. Nó tuyệt vời như một ứng dụng CRM siêu cấu hình và có thể mở rộng nếu đó là những gì bạn muốn. Mặc dù hoạt động tiếp thị của họ rất đặc biệt trong việc thúc đẩy ý tưởng về Force.com như một nền tảng phát triển chung, nhưng nó thậm chí vẫn chưa kết thúc từ xa.

Hiệu quả của việc có một nền tảng ổn định và tránh các vấn đề lớn về hiệu suất và độ ổn định rất dễ bị lãng phí khi cố gắng viết mã xung quanh các giới hạn mà mọi người đề cập đến. Có quá nhiều giới hạn đối với nền tảng, nó trở nên hoàn toàn khó chịu. Những giới hạn này không phải là những giới hạn cao cấp mà bạn sẽ đạt được khi có nhiều người dùng, bạn sẽ đạt được chúng gần như ngay lập tức.

Mặc dù thường có các kỹ thuật để tránh chúng, nhưng rất khó để tìm ra các chiến lược để tránh chúng trong khi bạn cũng đang cố gắng phát triển logic kinh doanh của ứng dụng thực tế của mình.

Để cho bạn hiểu đơn giản về môi trường không thân thiện của nhà phát triển, hãy sử dụng "thiếu môi trường gỡ lỗi" được đề cập ở trên. Còn tệ hơn thế. Bạn chỉ có thể thấy tối đa 20 yêu cầu gần đây nhất đến máy chủ trong nhật ký gỡ lỗi. Vì vậy, khi bạn đang phát triển bên trong ứng dụng, bạn phải tạo yêu cầu gỡ lỗi "Mới", chọn tên của bạn, nhấn "Lưu", chuyển về ứng dụng của bạn, làm mới trang, nhấp trở lại tab gỡ lỗi của bạn, cố gắng tìm yêu cầu sẽ chứa nhật ký gỡ lỗi của bạn, nhấn "find" để tìm kiếm văn bản bạn đang tìm. Nó giống như mười lần nhấp chuột để xem đầu ra gỡ lỗi. Mặc dù nó có vẻ tầm thường, nhưng đó chỉ là một ví dụ cho thấy trải nghiệm của nhà phát triển đã được chú trọng và cân nhắc rất ít.

Tất cả mọi thứ về nền tảng phát triển là một suy nghĩ sau ghép. Nó đáng chú ý cho những gì nó là, nhưng tổng PITA cho hầu hết các phần. Nếu bạn không biết chính xác những gì bạn đang làm (như khi bạn được chứng nhận và có hiểu biết rất sâu sắc về Apex), bạn sẽ dễ dàng mất tới 10-20 lần lượng thời gian mà trong môi trường khác sẽ làm một cái gì đó tưởng chừng như nó sẽ đơn giản đến kỳ lạ, nếu bạn thậm chí có thể thành công.

Các giới hạn của thống đốc thực sự là tồi tệ. Bạn có sự kết hợp của nhiều giới hạn khác nhau (truy vấn cơ sở dữ liệu, hàng trả về, "câu lệnh tập lệnh", lệnh gọi trong tương lai, chú thích, v.v.) và bạn phải biết chính xác những gì bạn đang làm để tránh những điều này. Ví dụ: nếu bạn có trường "công thức" tổng hợp được tính toán trên một đối tượng và bạn có một trình kích hoạt trên một đối tượng con, nó sẽ thực thi các trình kích hoạt đối tượng mẹ và đếm những kích hoạt đó so với giới hạn của bạn. Những điều như thế sẽ không hiển nhiên cho đến khi bạn trải qua quá trình cố gắng và thất bại đầy đau đớn.

Bạn sẽ thử một thứ để tránh một giới hạn này và đánh một thứ khác trong một trò chơi không bao giờ kết thúc "whack a limit". Trong quá trình này, bạn sẽ phải kiến ​​trúc lại toàn bộ ứng dụng và cách tiếp cận của mình, cũng như viết lại tất cả mã thử nghiệm của bạn. Bạn phải có 75% phạm vi kiểm tra mã để triển khai vào sản xuất, đây thực sự là một điều rất tốt, nhưng kết hợp với tất cả các giới hạn khác, nó rất nặng nề. Bạn sẽ thực sự đạt đến các giới hạn của thống đốc khi viết mã thử nghiệm của bạn mà mã này sẽ không xuất hiện trong các tình huống người dùng bình thường, nhưng điều đó sẽ ngăn bạn đạt được mức độ phù hợp.

Đó là chưa kể hàng loạt vấn đề khác. Bao bì không phải là những gì bạn mong đợi. Bạn không thể đóng gói ứng dụng của mình và cung cấp cho người dùng mà không có sự can thiệp và cấu hình đáng kể của người dùng từ phía quản trị viên của tổ chức. AppExchange là một trò đùa hoàn toàn và họ thậm chí đã bắt đầu tính phí 5K chỉ để đưa ứng dụng của bạn vào danh sách. Việc nhập bằng trình tải dữ liệu sẽ rất tệ, đặc biệt nếu bạn có bất kỳ trình kích hoạt nào. Bạn không thể xuất tất cả dữ liệu của mình trong một bước bao gồm các mối quan hệ của bạn theo cách có thể dễ dàng nhập lại vào tổ chức khác trong một bước duy nhất (ví dụ: tổ chức phát triển). Bạn chỉ có thể làm mới hộp cát mỗi tháng một lần kể từ khi sản xuất, không có ngoại lệ và bạn không thể đưa dữ liệu của mình vào làm mới theo mặc định trừ khi bạn đã gọi cho người điều hành tài khoản của mình để mở khóa tính năng đó. Bạn có thể' t dữ liệu xóa hàng loạt trong các đối tượng tùy chỉnh. Bạn không thể thay đổi tên gói của mình. Một số thứ có thể mất rất nhiềusố ngày phải hoàn thành sau khi bạn yêu cầu, chẳng hạn như sao lưu dữ liệu trước khi bạn muốn triển khai ứng dụng, không có báo cáo tiến độ trong quá trình thực hiện và không có nhiều ý nghĩa về thời điểm xuất chính xác. Do có những vấn đề về tính đồng bộ của dữ liệu nếu có các mối quan hệ giữa dữ liệu, có những vấn đề nghiêm trọng về tính toàn vẹn của dữ liệu ở chỗ không có thứ gì gọi là "giao dịch" có thể xuất nhiều đối tượng trong một bước duy nhất. Có thể có một số công cụ thương mại để hỗ trợ một số điều này, nhưng những công cụ này không nằm trong tầm tay của các nhà phát triển bình thường, những người có thể không có ngân sách lớn.

Mọi thứ khác mà những người khác nói ở đây là sự thật. Đôi khi có thể mất từ ​​năm giây đến một phút để lưu tệp.

Tôi không có ý tiêu cực vì nền tảng này rất tuyệt theo một số cách và họ đang cố gắng làm những điều trong môi trường nhiều người thuê mà không ai khác đang làm. Đó là một môi trường rất đổi mới và mạnh mẽ ở một số cấp độ (tôi thực sự thích VisualForce rất nhiều), nhưng hãy chờ nó thêm một hoặc hai năm nữa. Họ đang hợp tác với VMware, có thể điều đó sẽ dẫn đến việc cung cấp cho các nhà phát triển nhiều hơn một chút về một vở kịch hơn là một tế bào tù để làm việc.


Hơn 2 năm sau câu trả lời này, còn nền tảng những ngày này thì sao? Nó đã được cải thiện, một số vấn đề phức tạp này đã được giải quyết hoặc ít nhất là loại bỏ?
Yaroslav

Bump, tôi cũng muốn biết liệu mọi thứ có thay đổi trong 2 năm đó không.
magallanes 17/12/12

5
Tôi không thể bình luận về AppExchange, nhưng tôi tìm thấy chủ đề này sau khi trộn "salesforce.com hút" vào google trong sự thất vọng với các trình kích hoạt và giới hạn thống đốc và nhảy qua các vòng để xử lý dữ liệu rất đơn giản .... chỉ là rất nhiều. Hãy làm điều đó theo ý bạn;)
BLSully

1
@Yaroslav Tôi sẽ xem hai năm của bạn và thêm ba năm nữa và thay đổi. Nó đã thực hiện một số cải tiến về mã thông báo nhưng nhìn chung câu trả lời này vẫn đúng.

25

Dưới đây là một số điều tôi có thể cung cấp cho bạn sau khi dành một chút thời gian để phát triển trên nền tảng này trong khoảng hai tuần trở lại đây:

  1. Không có API RESTful. Họ có một API dựa trên xà phòng mà bạn có thể gọi, nhưng không có cách nào để thực hiện các cuộc gọi yên tĩnh thực sự

  2. Không có cách nào đơn giản để lấy SObject của chúng và chuyển đổi chúng thành các đối tượng JSON.

  3. Các trang lực lượng thị giác vẫn ổn cho đến khi bạn muốn tùy chỉnh chúng và sau đó là cả một thế giới đau đớn.

  4. Các trang cưỡng bức trực quan cần phải được ràng buộc với SObjects, nếu không sẽ không có cách nào để các trường đầu vào tiêu chuẩn như bộ chọn ngày hoặc danh sách chọn hoạt động.

  5. Plugin eclipse là ok nếu bạn muốn làm việc một mình, nhưng nếu bạn muốn làm việc trong một nhóm lớn với plugin eclipse thì hãy quên nó đi. Nó không xử lý đồng bộ hóa đến và đi từ máy chủ, nó bị treo và nó không thực sự hữu ích chút nào.

  6. KHÔNG CÓ GỢI Ý NÀO! Nếu bạn muốn gỡ lỗi, nó thực sự được gỡ lỗi bằng các câu lệnh system.debug. Đây có lẽ là vấn đề lớn nhất mà tôi tìm thấy

  7. Mô hình "MVC" của họ không thực sự là MVC. Nó gần hơn với ASP.NET Webforms. Chế độ xem của bạn được kết hợp chặt chẽ với không chỉ các mô hình mà còn cả bộ điều khiển.

  8. Lưu trữ một số lượng lớn tài liệu là không khả thi. Chúng tôi cần lưu trữ hơn 100gb tài liệu và chúng tôi đã được trích dẫn một con số vô lý. Chúng tôi đã quyết định triển khai lưu trữ tài liệu của mình trên cơ sở hạ tầng S3 của Amazon

  9. Ngay cả khi ngôn ngữ dựa trên java, nó không phải java. Bạn không thể nhập bất kỳ gói hoặc thư viện bên ngoài nào. Ngoài ra, các thư viện cơ sở có sẵn bị hạn chế rất nhiều, vì vậy chúng tôi nhận thấy mình đang triển khai một loạt các nội dung bên ngoài và sau đó hiển thị các bit đó dưới dạng dịch vụ được gọi bởi force.com

  10. Bạn có thể gọi các dịch vụ dựa trên SOAP hoặc REST bên ngoài nhưng nội dung tin nhắn bị giới hạn ở 100kb nên rất hạn chế về những gì bạn có thể gọi.

Thành thật mà nói, mặc dù có những lợi ích tiềm năng khi phát triển trên một thứ như nền tảng force.com, nhưng đối với tôi, bạn không thể sử dụng nền tảng force.com cho các ứng dụng cấp doanh nghiệp thực sự. Tốt nhất bạn có thể viết một số ứng dụng kiểu thô sơ cơ bản nhưng một khi bạn chuyển sang bất kỳ thứ gì phức tạp từ xa, tôi sẽ tránh nó như bệnh dịch.


16
RESTful API bây giờ đã có cho lực lượng
mirezus

3
JSON Serialization và De-Serialization có sẵn cho Non SObject.
kadalamittai

Bạn đã tích hợp bộ lưu trữ tài liệu Amazon của mình với Salesforce như thế nào (giả sử như vậy)?
Michael Paulukonis

Hiện có một trình gỡ lỗi, nhưng nó phải trả thêm phí. Ghi chú phát hành Winter '16
martin

14

Chà- có rất nhiều điều ở đây mà tôi thậm chí còn không biết đó là những hạn chế - sau khi làm việc trên nền tảng này trong một vài năm.

Nhưng chỉ để thêm một số thứ khác ...

Lý do bạn không có trình gỡ lỗi từng dòng chính là vì đó là một nền tảng nhiều người thuê. Ít nhất thì đó là những gì SFDC nói - có vẻ như trong thời đại lập trình giàu luồng này, đó không phải là một cái cớ nhiều, nhưng đó rõ ràng là lý do. Nếu bạn phải viết mã, bạn có "System.debug (String)" làm trình gỡ lỗi của mình - tôi nhớ có nhiều công cụ gỡ lỗi máy chủ phức tạp hơn trong Java 1.2 khoảng 12 năm trước.

Một điều tôi thực sự ghét về hệ thống là kiểm soát phiên bản. Khung công tác Spring không được sử dụng cho những gì Spring thường được sử dụng - nó thực sự là một công cụ cấu hình trong SFDC hơn là kiểm soát phiên bản. SFDC cung cấp kiểm soát phiên bản ZERO.

Bạn có thể thấy mình bị mắc kẹt trong nhiều ngày khi làm một việc gì đó có vẻ rất dễ dàng, chẳng hạn như lập lịch báo cáo SFDC để xuất sang tệp CSV và gửi email tới danh sách người nhận ... Chà, về cách dễ nhất để làm điều đó là tạo đối tượng tùy chỉnh với trường tùy chỉnh, với quy tắc dòng công việc và mẫu email Visualforce ... và sau đó đối với mã, bạn cần viết một thành phần Visualforce truyền dữ liệu báo cáo đến mẫu email Visualforce dưới dạng tệp đính kèm và bạn viết APEX ẩn danh cập nhật trường lịch trình mã của đối tượng tùy chỉnh ... Đối với các nhà phát triển SFDC, đây gần như là một công việc hàng ngày ... cố gắng kết hợp khoảng năm công nghệ khác nhau lại với nhau để thực hiện các nhiệm vụ có vẻ rất đơn giản .... Và điều này có thể khiến ban quản lý đau đầu và căng thẳng nữa - Thông thường, bạn sẽ tìm ra điều này sau khi nhận được đề xuất làm điều gì đó khôngkhông làm việc trong cộng đồng người dùng (như ai đó đã nói), và sau đó thử nhiều thứ mà sau khi bạn phát triển chúng, bạn sẽ thấy chúng không hoạt động vì một số lý do kỳ quặc - như "bạn không thể lên lịch Trang VisualForce "hoặc" bạn không thể gọi getContent từ ngữ cảnh có thể lập lịch "hoặc một số lý do phức tạp khác.

Có rất nhiều, rất nhiều gotcha nhỏ khó chịu trên nền tảng SFDC, mà một khi bạn biết TẠI SAO chúng ở đó, điều đó hoàn toàn hợp lý ... nhưng chúng vẫn có những hạn chế rất tồi tệ khiến bạn không thể làm những gì bạn cần làm. Đây là một số của tôi;

  1. Bạn không thể lấy thông tin chủ sở hữu bản ghi "ra khỏi hộp" trên hầu hết mọi loại bản ghi - bạn phải viết trình kích hoạt liên kết chủ sở hữu khi tạo bản ghi với bản ghi bạn đang chèn. Tại sao? Câu trả lời ngắn gọn vì chủ sở hữu có thể là "người" hoặc "người xếp hàng", và cả hai là các thực thể khác nhau rõ rệt ... Có lý, nhưng nó có thể làm đảo lộn dự án theo đúng nghĩa đen.

  2. Mô hình bảo mật đáng sợ. Ví dụ: Quyền "Quản lý Báo cáo Công khai" khác rất nhiều so với "Tạo và Tùy chỉnh Báo cáo" và điều đó về cơ bản áp dụng cho mọi thứ trên nền tảng ... đặc biệt là các thư mục thuộc bất kỳ loại nào.

  3. Như đã đề cập, hỗ trợ về cơ bản là không tồn tại. Nếu bạn là một cá nhân cực kỳ tự lập, hoặc có nhiều tài nguyên SFDC hoặc có nhiều thời gian và / hoặc một người quản lý rất khoan dung, hoặc phụ trách một hệ thống SFDC đang hoạt động tốt, bạn đang ở khá tốt hình dạng. Nếu bạn không ở bất kỳ vị trí nào trong số này, bạn có thể thấy mình đang gặp rắc rối sâu sắc.

SFDC là một đề xuất kinh doanh rất quyến rũ ... không có dấu chân thiết bị, bảo mật khá tốt, giá cố định, không có cơ sở hạ tầng VÀ bạn nhận được CRM dựa trên web với xử lý có thể truy cập và có thể lập lịch ... Nhưng như các áp phích khác đã nói, nó thực sự là khá phát triển trong học tập phát triển và nếu bạn tham gia tư vấn, tôi nghĩ mức giá thấp nhất mà tôi từng thấy là 200 đô la / giờ.

Salesforce có xu hướng tích hợp với những thứ khác nhiều năm sau khi một số công nghệ trở nên phổ biến - JSON và jquery xuất hiện trong tâm trí ... và nếu bạn có các cơ sở hạ tầng chung khác mà bạn muốn tích hợp, như JIRA, bạn sẽ phải trả thêm nhiều tiền, và chúng có thể khá lỗi.

Và như một trong những áp phích khác đã đề cập, bạn đang liên tục chống lại các giới hạn của thống đốc có thể khiến bạn phát điên lên ... một tệp đính kèm KHÔNG được> 5MB. Giai đoạn = Stage. Và đôi khi <3MB (nếu mã hóa base64). Mười chú thích HTTP trong một lớp. Giai đoạn = Stage. Có hàng tá giới hạn thống đốc được công bố, và nhiều giới hạn không phải là điều bạn chắc chắn sẽ tìm thấy và chỉ muốn chạy ra khỏi văn phòng của bạn để hét lên.

Tôi thực sự, THỰC SỰ thích nền tảng này, nhưng hãy tin tôi - nó có thể là một tình nhân thực sự độc ác.

Nhưng công bằng với SFDC, tôi muốn nói thế này: vấn đề lớn nhất mà tôi tìm thấy với nền tảng không phải là bản thân nền tảng, mà là những kỳ vọng khổng lồ mà hầu như bất kỳ ai nhìn thấy nền tảng nhưng chưa phát triển trên nó đều gặp phải .... và những người đó có xu hướng giữ những vị trí có quyền lực lớn trong các tổ chức kinh doanh; tiếp thị, bán hàng, quản lý, v.v. Những lần ngắt kết nối lớn xảy ra và đầu cuộn, hoặc bị đe dọa hoạt động hàng ngày - tất cả là bởi vì có nền tảng tuyệt vời này với những tính năng kỳ lạ và hàng nghìn người phải vật lộn hàng ngày để tìm hiểu lý do tại sao mọi thứ nên hoạt động khi họ chỉ không và sẽ không.

CHỈNH SỬA:
Chỉ để thêm vào bình luận của lomaxx về MVC; Trong thuật ngữ SFDC, điều này có liên quan chặt chẽ với cái được gọi là "viewstate" - và nó có thể thực sự có lỗi, ở chỗ những gì trên trang VF không phải là những gì trong lớp bộ điều khiển của trang. Vì vậy, bạn phải thực hiện các vòng quay kỳ lạ để đồng bộ hóa những gì trên trang với những gì bộ điều khiển sẽ ghi vào SF khi bạn nhấp vào nút "lưu" (hoặc tạo chú thích HTTP của bạn hoặc bất cứ điều gì) .... anh bạn, thật khó chịu .


+1 để đề cập đến kiểm soát phiên bản.
lindon fox

7

Tôi nghĩ rằng những người khác đã đề cập sâu hơn những nhược điểm nhưng đối với tôi, có vẻ như không sử dụng mô hình MVC hoặc hỗ trợ nhiều trong cách sử dụng lại mã. Để làm bất cứ điều gì ngoài các ứng dụng đơn giản là một bài tập thất vọng so với việc phát triển một ứng dụng bằng cách sử dụng ASP.Net MVC.

Hơn nữa, các công cụ, lớp dữ liệu và sự thất vọng khi cố gắng cấu trúc lại mã hoặc đổi tên các trường trong quá trình phát triển không giúp ích được gì.

Tôi nghĩ với tư cách là một CMS thì nó khá tuyệt nhưng với tư cách là một nền tảng cho các ứng dụng không phải CMS, nó không có ý nghĩa đối với tôi.


6

Mô hình bảo mật cũng rất hạn chế ... nhưng đây không phải là phần tồi tệ nhất. Bạn hiện không thể khẳng định liệu người dùng có khả năng thực hiện một hành động cụ thể hay không.

Bạn có thể kiểm tra xem vai trò của họ là gì, nhưng bạn không thể kiểm tra xem vai trò đó có quyền thực hiện hành động hiện tại hay không.

Thậm chí tệ hơn là phản hồi từ bộ phận hỗ trợ công nghệ để "thử hành động và nếu có ngoại lệ, hãy nắm bắt nó"



3

Đối với tất cả những điều trên, tôi tò mò rằng việc phát hành VMforce, cho phép lập trình viên Java viết mã cho Force.com, thay đổi những nhược điểm trên như thế nào?

http://www.zdnet.com/blog/saas/vmforcecom-redefines-the-paas-landscape/1071


nó sẽ giảm bớt một số vấn đề, nhưng bạn vẫn sẽ bị ràng buộc vào cơ sở dữ liệu Force.com, điều này thật tồi tệ và bạn sẽ không thực sự có được quyền kiểm soát thực sự đối với các triển khai của mình. Vẫn còn là những ngày đầu và điều này có thể thay đổi trong tương lai, nhưng hiện tại nó có vẻ không phải là một sự thay thế quá hấp dẫn.
lomaxx 24/10/10


3

Tôi đoán họ đang cố gắng giải quyết những vấn đề này. Tại dreamforce, họ đề cập rằng chúng tôi đang cố gắng giảm giới hạn của Thống đốc xuống chỉ còn 4. Tôi không chắc chi tiết là gì. Họ có một API REST để truy cập sớm và họ đã mua heroku, một dạng phát triển ruby ​​trên đám mây. Họ tách cơ sở dữ liệu ra, với database.com để bạn có thể thực hiện tất cả việc phát triển web của mình trên đó và các lệnh gọi db của bạn bằng database.com.

Tôi đoán họ đang cố gắng làm cho nó càng bất khả tri càng tốt. Nhưng hiện tại, tất cả đều là thông báo và quyền truy cập sớm, giống như tuyên bố về Luật che giấu an toàn của họ không mua những gì họ nói, chỉ dựa trên những gì họ hiện có.


7 năm và họ không giải quyết một điều nào trong danh sách trên.
el n00b
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.