#2 Hanoi Magento Meetup - Part 3: Panel discussion

Preview:

Citation preview

#2 Hanoi Magento MeetupKnockout.js & Magento 2

5/10/2016

Part 3 – Panel DiscussionMagento 2 Best Practice

5/10/2016

#1: Vấn đề upgrade lên M2 khi không sử dụng php 5, site có dữ liệu lớn thì việc migrate có khả thi không? Nên đưa lời khuyên với khách hàng như thế nào?• Magento có cung cấp bản migrate hỗ trợ nhưng với các

site đã hoạt động lâu có phần cài đặt thêm và chỉnh sửa (customize) nhiều thì sẽ gặp khó khăn

• Giải pháp: Cần export data để lưu trữ

Các module nếu đơn giản có thể tự migrate; module đặc thù cần tự phát triển hoặc chờ bên cung cấp module ra sản phẩm để update lên

Có thể dùng iframe để nhúng các chức năng lên thay vì đợi mất nhiều thời gian để code native Magento

• Chi phí đầu tư, nâng cấp đội lên cao hơn đặc biệt khi phải mua lại hoặc tinh chỉnh tính năng

• Không biết chắc hiệu năng của trang sau khi upgrade sẽ tốt hơn hay xấu đi

• Hiện tại Magento 2 chạy chưa ổn định còn nhiều bug

• Một số giải pháp:

Store mới thì nên sử dụng luôn Magento 2, hoặc site nhỏ sử dụng ít extension thì có thể dùng luôn M2

Lời khuyên cho những store lớn đang hoạt động tốt, hoặc các store mới muốn build site mới phức tạp thì tiếp tục Magento 1 với độ ổn định cao và có các module hỗ trợ đầy đủ.

#2: Những rủi ro liên quan khi upgrade từ Magento 1 lên Magento 2

#3: Khách hàng M2 phần lớn là đối tượng build site mới hay upgrade từ M1 lên M2?

• Hầu hết khách hàng mới build chứ ít upgrade từ M1 lên M2

• Cũng có trường hợp đầu tư song song: vừa build thêm site M2 bên cạnh việc duy trì site M1. Các công ty lớn có đầu tư nghiêm túc với site thì sẽ dựa vào tỷ trọng revenue và cân đối, và định hướng phát triển dài hơi, chuẩn bị install site M2 từ bây giờ

• Tuy nhiên, càng có nhiều khách hàng chuyển đổi sang sử dụng M2 sẽ càng giúp fix lỗi trên M2 một cách nhanh chóng và cải thiện M2 tốt lên

#4: Khó khăn nhất khi build site trên M2 là gì?

Quá trình phát triển, build site trên M2 cảm thấy chậm hơn M1: khi sửa file mất nhiều thao tác; yêu cầu tuân thủ các quy định, quy cách chuẩn mực chặt chẽ hơn.

Điều này bắt buộc developer phải có kiến thức chuyên sâu, có chuyên môn cao khi giải quyết một mảng nhiệm vụ cụ thể. Thêm nữa, hiếm công ty tuyển được nhân sự làm full task; vì vậy tách riêng hoàn toàn phần less/html cho 1 người phụ trách và ghép vào sau khi build framework sẽ hợp lý và tiết kiệm thời gian hơn

Khi tập trung 1 task chính, sẽ giảm bớt thời gian đào tạo full task đồng thời thời gian development cũng được giảm thiểu

• Thời gian trung bình để build site là bao lâu?

Trung bình 1 tháng 1 site; Với theme chỉ cần 2-3 tuần; Nếu có framework sẵn thì nhanh hơn

• M2 có cơ chế biên dịch mới. Vì vậy, người developer ko có background Java, C sẽ gặp khó khăn hơn. Thời gian code có thể lâu hơn vì mất thời gian biên dịch

• Do thói quen dùng php quá tùy tiện sẽ làm dev cảm thấy có nhiều khó khăn khi code trên M2. Magento 2 có nhiều nguyên tắc và quy trình kỷ luật hơn

• M2 dung nhiều command line chạy nhiều lệnh, site yêu cầu có SSH

• M2 mà disable cache thì rất chậm

#5: Nên mua theme mới hay tự build?

• Mua theme và customize thì tốt hơn vì mang lại cả lợi ích cho khách hàng và mình do đỡ mất thời gian code hay fix lỗi

• Cần chọn theme tốt từ đầu, và cũng dựa vào chất lượng extension cài đặt để theme và extension hoạt động tốt không có conflict

#6: Với các dự án M2, tính năng cần thời gian để phát triển thì sẽ mua extension hay

tự build?• Có tool để chuyển đổi trên github cho extension nhỏ từ M1

lên M2• Có thể tự nghiên cứu logic của extension và chuyển đổi;

hoặc nếu có bản M2 của bên solution cung cấp thì có thể dùng luôn

• Dựa vào kinh nghiệm và cơ chế có sẵn của M2 để import từ M1 sang

• Tip: Hạn chế overwrite các code của Magento nếu ko khi có upgrade sẽ phải viết lại sản phẩm từ đầu; làm sao can thiệp ít nhất vào hệ thống code và vẫn đảm bảo chức năng cần thêm

#7: Kinh nghiệm kiểm thử của Magestore nói riêng và chia sẻ của các đại diện khác

• Tuy Magento có cung cấp tool test như M Testing Framework; Magestore chưa tích hợp test tự động; và chỉ test tay vì vậy khách hàng muốn test lại cũng gặp khó khăn

• Thời gian sắp tới sẽ đưa vào các tool Unit Test để hỗ trợ test• Hiện tại checklist official cho cộng đồng Magento tester

chưa có, nên phát triển– Các công ty nhân sự thay đổi nhiều thì cần có phần

training tester về Magento– Đề ra 1 số tiêu chuẩn: performance khi lượng người dùng

lớn; dùng các toolkit Magento cung cấp như G-meter

#8: Kinh nghiệm học M2

• Không nên để hổng kiến thức, không hiểu bản chất• Tránh lạm dụng tool để render

– Quá trình học phải tự tìm hiểu cơ chế, load như nào, hiểu bản chất

– Tư tưởng M1 và M2 giống nhau, chỉ có cách implement thì khác nhau

– Công ty nên có training cho nhân viên và public với cộng đồng

– Kinh nghiệm share free qua github cho cộng đồng

#8: Kinh nghiệm học M2

– Đào tạo qua seminar trong công ty khi chuyển đổi M1 sang M2; chỉ cần nắm 1 số điểm khác biệt

– Bắt đầu học từ debug để biết cách thức extension hoạt động như thế nào; ko phải chỉ để chạy mà phải hiểu bản chất; ko nên làm theo kiểu ăn xổi.

– Senior đào tạo junior; học từ code core để biết họ xử lý như nào; từ đấy mình hiểu vấn đề biết cách debug tốt nhất

Recommended