Bounty đã kết thúc, nhà phát triển chiến thắng chiến thắng với Trò chơi cuộc sống của Conway
Nền tảng web ngày nay đang tiến bộ với tốc độ nhanh chóng. Các tính năng như hình ảnh động CSS3 , biến đổi , đổ bóng và gradient , <canvas>
, <audio>
và <video>
thẻ, SVG , WebGL , và nhiều ý nghĩa hơn là bạn có thể làm nhiều hơn trong trình duyệt, và trong mã ít, hơn bao giờ hết. Tất nhiên, nhiều nhà phát triển không được sử dụng các tính năng mới này, bởi vì các trang web và ứng dụng họ làm việc cần phải tương thích ngược với các trình duyệt cổ xưa, ăn sâu như IE6.
Vì vậy, điều gì xảy ra nếu bạn tháo dây nịt? Cho phép bản thân sử dụng bất kỳ và tất cả các tính năng mới mà bạn thích? Sống một chút, phát điên, sử dụng các tính năng cạnh chảy máu kỳ lạ mà chỉ 1% người dùng của bạn có thể tận dụng?
Tất nhiên, với tài nguyên không giới hạn và khả năng nói chuyện với máy chủ, bạn có thể thực hiện mọi cách thức. Tải trọng megabyte mã và thư viện và video, v.v., nhưng trên thử thách không thú vị mà không bị ràng buộc. Hạn chế chính của cuộc thi này là: bạn có thể làm gì trong một URI 4k độc lập, khép kíndata:
? Tự khép kín có nghĩa là nó không được tham chiếu đến bất kỳ tài nguyên bên ngoài nào, kết nối với bất kỳ máy chủ nào bằng WebSockets hoặc XHR hoặc bất kỳ thứ gì thuộc loại này. Nếu bạn muốn nhúng các tài nguyên như PNG hoặc MP3, vui lòng bao gồm các URI dữ liệu trong URI dữ liệu của bạn hoặc đưa ra một số cách thông minh khác để nhúng tài nguyên phụ. 4k có nghĩa là 4096 byte, văn bản ASCII được mã hóa đúng URI (bạn có thể sử dụng URI dữ liệu được mã hóa base64 nếu bạn chọn, để tránh mã hóa URI, nhưng thông thường văn bản được mã hóa URI sẽ nhỏ hơn base64 cho văn bản thuần túy).
Để cung cấp nguồn cảm hứng, chủ đề của cuộc thi là các memes StackOverflow . Tạo một trò chơi kỳ lân, một trình tạo thực tế Jon Skeet, một chương trình vẽ dựa trên vòng tròn tự do hoặc bất cứ điều gì để làm với một trong những meme StackOverflow & meta.so phổ biến.
Tôi sẽ khuyến khích các mục tương tác theo một cách nào đó; không chỉ là một hình ảnh động đơn giản hoặc hình ảnh tĩnh, chúng phải đáp ứng với đầu vào của người dùng, cho dù thông qua các sự kiện, di chuột CSS, cuộn, thay đổi kích thước cửa sổ trình duyệt hoặc bất kỳ cách nào khác bạn có thể nghĩ tới. Đây không phải là một yêu cầu khó khăn, mặc dù; những bản demo tuyệt vời không tương tác sẽ được xem xét, mặc dù tính tương tác sẽ được ưu tiên hơn.
Mục nhập của bạn phải chạy trong ít nhất một bản phát hành công khai của ít nhất một trong 5 trình duyệt chính (IE, Firefox, Chrome, Safari, Opera). Chỉ các bản phát hành chính (không được xây dựng từ các chi nhánh hoặc bản dựng yêu cầu bản vá), không có cài đặt cấu hình đặc biệt, plugin hoặc bất kỳ thứ gì khác không đi kèm với trình duyệt chứng khoán mới được phép. Xây dựng hàng đêm, betas, và phát hành ứng cử viên là tốt. Vui lòng chỉ định trong mục nhập của bạn mà trình duyệt bạn đã kiểm tra mục nhập của bạn. Không có giới hạn về những công nghệ bạn có thể sử dụng trong các ràng buộc đó; bạn có thể thực hiện một hoạt hình SVG thuần túy, một hoạt hình CSS thuần túy, một cái gì đó trong JavaScript bằng WebGL hoặc quái, thậm chí một cái gì đó sử dụng XML và XSLT nếu điều đó làm bạn thích. Nếu bạn có thể nhồi nhét nó vào một URI dữ liệu hợp lệ, không có phụ thuộc bên ngoài và có một trình duyệt để chạy nó, đó là trò chơi công bằng.
Để thêm vào cuộc thi ở đây, vào thứ Hai, ngày 21 tháng 3, tôi sẽ mở một tiền thưởng cho câu hỏi này. Làm thế nào tôi có thể đủ tiền thưởng khi tôi chỉ có 101 đại diện? Chà, tất cả các đại diện tôi đạt được từ các câu trả lời cho câu hỏi này từ nay đến thứ Hai sẽ đi vào tiền thưởng (tối đa giới hạn 500 cho phép cho một tiền thưởng, tuy nhiên, sẽ rất khó để tôi đạt được giới hạn đó, mặc dù vậy, với đại diện mũ lưỡi trai). Bài dự thi sẽ được chấp nhận trong 6 ngày sau đó; tất cả các mục phải có trong ít nhất 24 giờ trước khi tiền thưởng hết hạn, để cho tôi thời gian kiểm tra tất cả và đánh giá chúng. Vào thời điểm đó, tôi sẽ chấp nhận câu trả lời được bình chọn cao nhất và đưa tiền thưởng cho câu trả lời yêu thích của tôi (có thể giống hoặc không giống với câu trả lời cao nhất). Tiêu chí của tôi để nhận tiền thưởng sẽ bao gồm vẻ đẹp, niềm vui, kỹ thuật thông minh, sử dụng thú vị các tính năng mới, tính tương tác và kích thước.
Dưới đây là một số nguồn cảm hứng, để giúp bạn bắt đầu:
- Chrome Experiment , một bộ sưu tập các bản trình diễn của nền tảng web hiện đại
- Mozilla Hacks , một blog về nền tảng web hiện đại với nhiều bản giới thiệu các tính năng mới trong Firefox 4
- JS1k , một cuộc thi dành cho các bản demo JavaScript 1k
- Ngoài 10k , một ứng dụng web trong cuộc thi 10k
- gl64k , một cuộc thi demo hiện đang chạy cho các bản demo WebGL 64k
- Shader Toy , một bộ các bản demo về những gì bạn có thể làm với trình tạo bóng WebGL
Định dạng cho các mục:
Tên mục
dữ liệu: văn bản / html,% 20data% 20URI của bạnHoạt động trong Firefox 4 RC, Chrome 10 và Opera 11
Mô tả mục nhập của bạn; những gì nó làm, tại sao nó gọn gàng, những kỹ thuật thông minh bạn đã sử dụng.
<script> // code in expanded form to more easily see how it works </script>
Bất kỳ khoản tín dụng nào cho cảm hứng, bất kỳ mã nào bạn có thể đã mượn, v.v.
(StackExchange dường như không chấp nhận URI dữ liệu trong các liên kết, vì vậy bạn sẽ cần phải nhúng nó trực tiếp vào <pre>
thẻ)